mysql数据库关闭连接spark_sparksql 连接读取MySQL数据库

1. 从oracle 官方网站  https://dev.mysql.com/downloads/connector/j/ 下载mysql-connector 驱动,一般是一个rpm包。

2.  部署mysql-connector 驱动

在spark中使用此驱动连接mysql数据库时,不要在spark 集群上使用rpm  -ivh 方式安装,因为你会发现这样安装后找不到很多部署文档中提到的mysql-connector的jar包。其实只需要在windows中通过解压程序对rpm包解压即可(可能的话要多解压几层),在其中的cpio压缩文件中包含目录,其中的java目录中包含此jar包。

将此jar包传到spark集群服务器上,一般可以放在SPAKR_HOME/jars目录中,然后设置CLASSPATH 环境变量(可参考mysql-connector的官方安装指导)

export CLASSPATH=/path/mysql-connector-***.jar:$CLASSPATH

3. 代码连接mysql数据库

from pyspark.sql import SparkSession

try:

sc.stop()

except:

pass

spk = SparkSession.builder.master("spark://192.168.12.7:7077").appName("spark1").getOrCreate()

print(spk)

sc11=spk.sparkContext

print(sc11)

jdbcdf = spk.read.format('jdbc').option('url',"jdbc:mysql://192.168.8.61:3306/sparkdb?user=spark&password=passwrod")\

.option('dbtable','class').load()

print(jdbcdf)

#jdbcdf.select('id','name','score').write.format('parquet').save("src/main/resources/sparkdb")

#jdbcdf.select('id','name','score').write.format('json').save("src/main/resources/sparkdb")

jdbcdf.select('id','name','score').write.saveAsTable("sparktb3")

jdbcsql=spk.sql("select * from sparktb3")

jdbcsql.show()

4. 保存数据到mysql数据库

dforacle.write.format('jdbc').mode("overwrite").options(

url="jdbc:mysql://192.168.8.61:3306/sparkdb",

dbtable='tablename',

user='spark',

password='password').save()

dfmysql=spk.read.format('jdbc').options(

url="jdbc:mysql://192.168.8.61:3306/sparkdb",

dbtable='tablename',

user='spark',

password='password').load()

dfmysql.show(3)

dfmysql.createOrReplaceTempView('fy_ls')

spk.sql("select * from fy_ls").show(30)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值