Spark单机模式下使用mysql和DataFrame API

由于官网的exmpale和查找到的资料都不没有完全对,所以整理一下.
1,首先下载jdbc的jar,下载地址: https://dev.mysql.com/downloads/connector/j/
2,数据库 test,表名people,有name和age两个字段
3,启动spark shell

./spark-shell --driver-class-path /path/to/jdbc/jar/mysql-connector-java-5.1.34-bin.jar

4,定义mysql地址

scala> val url="jdbc:mysql://localhost:3306/test"

5,创建链接信息

scala> val prop = new java.util.Properties
scala> prop.setProperty("user","root")
scala> prop.setProperty("password","pwd for root")

6,定义sqlContext,这里官网的example不太对,sqlContext需要定义

val sqlContext = spark.sqlContext

7,使用jdbc加载dataframe

scala> val df = sqlContext.read.jdbc(url,"people",prop)

8,查看DataFrame的数据

scala> df.show()

9,查看DataFrame的结构

scala> df.printSchema()

10,按照age分组,计数

scala> val countsByAge = df.groupBy("age").count()
scala> countsByAge.show()

11,参考链接:
http://spark.apache.org/examples.html
http://www.infoobjects.com/spark-connecting-to-a-jdbc-data-source-using-dataframes/
https://stackoverflow.com/questions/40537035/error-not-found-value-sqlcontext-on-emr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值