在练习林子雨老师spark编程基础第五章课后实验时,遇到了一些问题。
实验环境:虚拟机Ubuntu
题目:
编程实现利用DataFrame读写MySQL的数据
(1)在MySQL数据库中新建数据库sparktest,再创建表employee,包含如下表所示的两行数据。
(2)配置Spark通过JDBC连接数据库MySQL,编程实现利用DataFrame插入如表5-3所示的两行数据到MySQL中,最后打印出age的最大值和age的总和。
遇到的问题
完成数据库的创建和代码的编写后,运行testmysql.py时报错
py4j.protocol.Py4JJavaError: An error occurred while calling o53.load.
: java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
报错原因:缺少jar包
解决方法:
step1:下载jar包
MySQL :: MySQL Community Downloads
https://dev.mysql.com/downloads/
具体步骤参照:
(39条消息) java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver_calling o206.jdbc._NoOne-csdn的博客-CSDN博客
step2:
解压后移动到jdk的ext目录下
在移动过程中可能会出现“权限不够”的提示
可以在终端中输入命令 sudo nautilus
sudo nautilus
这样就可以移动啦
详细步骤参考:
(39条消息) 解决Ubuntu系统移动或复制文件权限不够_ubuntu移动文件权限不够_白嫖叫上我的博客-CSDN博客
step3:执行命令
python3 testmysql.py
结果如下: