spark学习笔记4

一、

spark2.0+ 版本只用spark.sql的SparkSession就可以代替之前的SparkContext、SQLContext等。

SparkSession的建立:

spark = SparkSession.builder \
    .master("local") \
    .appName("Word Count") \
    .config("mysqlusername", "alarm") \
    .getOrCreate()

用SparkSession的read.jdbc读取mysql数据

df = spark.read.jdbc(url='jdbc:mysql://192.168.88.60:3306/alarm',table='test',
                     properties={'user':'alarm','password':'123456'})
注意:在这里本来开始遇到了报错,“java.sql.SQLException: No suitable driver”
原因是java没有连接mysql的驱动
解决办法是:到mysql的官网,下载驱动mysql-connector-java-****-bin.jar,放到JAVA_HOME目录下的jre\lib\ext文件下
下载地址https://dev.mysql.com/downloads/connector/j/,点download会提示登录或注册,不用管点下面的No thanks下载即可。
另外SparkSession的read里面包含读取各种dataset的方法,如json、csv等等

二、

今天也学习了python的图论库NetWorkx

顺便就想看看spark的Graphx,但发现Graphx根本没有python接口,后来查看spark项目开发记录,原来Graphx的python接口项目中途关闭了,因为在不太好做。但好在有GraphFrames,有java,scala,python接口,而且接口统一。GraphFrames一个基于spark同样做图论的,只不过是基于dataframe。

看来dataframe这种结构真是很有优势啊,spark ml就是基于dataframe。


猜你喜欢

转载自blog.csdn.net/rona1/article/details/79917745