sparkSQL操作

一.在Linux中安装好MySQL数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。
1.更新软件源,获取最新版本
在这里插入图片描述
2.设置mysql的root用户的密码
在这里插入图片描述
重新输入
在这里插入图片描述

3.启动mysql服务器,显示listen表示mysql启动成功
在这里插入图片描述
4.进入mysql界面
mysql -u root -p
在这里插入图片描述
5.输入exit可退出
在这里插入图片描述

二.
下载MySQL的JDBC驱动程序,比如mysql-connector-java-x.x.x.tar.gz,把该驱动程序拷贝到spark的安装目录” /usr/local/spark/jars”下,为后边使用JDBC做环境准备
在这里插入图片描述

三.通过json文件创建Dataframe
1.查看/usr/local/spark/examples/src/main/resources/下json文件
在这里插入图片描述
2.启动spark
错:
在这里插入图片描述
对:
cd /usr/local/spark/
./bin/spark-shell
在这里插入图片描述
显示Not found:value spark。解决方法:检查ifconfig命令看里面的IP是否和/etc/hosts文件里的ubuntu一样,发现ifconfig里面的是192.168.23.10,hosts文件里的是其他的,所以修改为如下图。
在这里插入图片描述
启动成功了。
在这里插入图片描述

3.从Spark2.0以上版本开始,Spark使用全新的SparkSession接口替代Spark1.6中的SQLContext及HiveContext接口来实现其对数据加载、转换、处理等功能。SparkSession实现了SQLContext及HiveContext所有功能
SparkSession支持从不同的数据源加载数据,并把数据转换成DataFrame
创建sparkSession对象
在这里插入图片描述
4.使支持RDDs转换为DataFrames及后续sql操作
在这里插入图片描述
5.创建DataFrame
在这里插入图片描述
三.使用spark.write操作,把一个DataFrame保存成不同格式的文件
我们用Spark处理完数据之后就需要将数据进行落地,比如保存为文本或者插入数据库,这样可以方便之后流程如页面可视化的处理。保存的数据类型有:
text
csv
json
jdbc
hive
hbase
kafka
elasticsearch
1.
在这里插入图片描述
2.
在这里插入图片描述
三.常用操作
1.创建DataFrame
在这里插入图片描述
2.打印模式信息
在这里插入图片描述
3.过滤
在这里插入图片描述
4.分组聚合
在这里插入图片描述
5.排序
在这里插入图片描述
6.多列排序
在这里插入图片描述
7.对列进行重命名在这里插入图片描述
四.通过JDBC连接数据库
1.在这里插入图片描述
2.进入mysql界面
在这里插入图片描述
3.创建我们所需要的MySQL数据库和表
在这里插入图片描述
4.编写Spark应用程序连接MySQL数据库
Spark支持通过JDBC方式连接到其他数据库获取数据生成DataFrame。启动Spark Shell时,必须指定mysql连接驱动jar包。在一行的末尾加入斜杠\,是为了告诉spark-shell,命令还没有结束。
./bin/spark-shell
–jars /usr/local/spark/jars/mysql-connector-java-5.1.27-bin.jar
–driver-class-path /usr/local/spark/jars/mysql-connector-java-5.1.27-bin.jar
在这里插入图片描述
五.读取数据
1.连接数据库,读取数据

scala> val jdbcDF = spark.read.format(“jdbc”).
| | option(“url”,“jdbc:mysql://localhost:3306/spark?useSSL=false”).
| | option(“driver”,“com.mysql.jdbc.Driver”).
| | option(“dbtable”, “student”).
| | option(“user”, “root”).
| |option(“password”,“123456”).
| load()
在这里插入图片描述
遇到下图问题时,
在这里插入图片描述
用如下方式解决
在这里插入图片描述
2.展示数据
在这里插入图片描述
六.写数据
1.向数据库写数据
在这里插入图片描述
在这里插入图片描述
2.查看mysql
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值