一.在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