使用foreachRDD把数据上传到Mysql数据库

简介

dstream.foreachRDD是一个强大的原语,可以将数据发送到外部系统。
DStream由输出操作延迟执行,就像RDD由RDD操作延迟执行一样。具体来说,DStream输出操作内部的RDD动作会强制处理接收到的数据。因此,如果您的应用程序没有任何输出操作,或者dstream.foreachRDD()内部没有任何RDD操作,就不会执行任何输出操作。系统将仅接收数据并将其丢弃。
在默认情况下,输出操作一次执行一次。它们按照在应用程序中定义的顺序执行。

案例:把数据直接上传到mysql数据库指定的表

代码:

在启动spark-shell时加入mysql驱动的jar包
[root@cos1000 bin]# pwd
/usr/local/cluster/spark/bin
[root@cos1000 bin]# spark-shell --driver-class-path ../examples/jars/mysql-connector-java-5.1.47-bin.jar --jars ../examples/jars/mysql-connector-java-5.1.47-bin.jar
20/02/11 00:21:24 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
20/02/11 00:21:55 WARN util.Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.
20/02/11 00:21:55 WARN util.Utils: Service 'SparkUI' could not bind on port 4041. Attempting port 4042.
20/02/11 00:21:55 WARN util.Utils: Service 'SparkUI' could not bind on port 4042. Attempting port 4043
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值