实验5 Spark SQL编程初级实践

2019/03/26 20:35
阅读数 338

今天做实验【Spark SQL 编程初级实践】,虽然网上有答案,但在自己的环境下并不能够顺利进行

在第二题中,要求编程实现将 RDD 转换为 DataFrame。根据所谓标准答案,在进行sbt 打包时,报如下错误

[error] /home/hadoop/mycode/rddtodf/src/main/scala/rddtodf.scala:1: object types is not a member of package org.apache.spark.sql
[error] import org.apache.spark.sql.types._
[error]               ^
[error] /home/hadoop/mycode/rddtodf/src/main/scala/rddtodf.scala:2: object Encoder is not a member of package org.apache.spark.sql
[error] import org.apache.spark.sql.Encoder

……

截图:

根据错误描述可知,程序在第一行 import org.apache.spark.sql.types._ 处出错:types不是org.apache.spark.sql的成员

 

解决方案:

把程序每一行看作一个spark命令,在spark-shell一条一条地执行好了。。。

 

第三题【编程实现利用 DataFrame 读写 MySQL 的数据】

读取mysql?一定要用到 mysql-connector-java-xxx.jar 吧,但是答案中并未提及

查阅书籍了解到,需要把mysql的jar包放在 /usr/local/spark/jars/mysql-connector-java-xxx/文件夹下,其中/usr/local/spark是spark安装目录xxx是mysql jar包版本。

且启动Spark Shell时,须指定MySQL jar包,如图:

(\表示命令还没有结束)

然后再把程序一条一条执行

执行结果:

可以看到,已经将新的两条数据插入到mysql数据库了

(用时:1小时30分钟)

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部