使用自定义接收器从数据集中接收流数据 [Spark Streaming]
Posted
技术标签:
【中文标题】使用自定义接收器从数据集中接收流数据 [Spark Streaming]【英文标题】:Receive streaming data from dataset with custom receiver [Spark Streaming] 【发布时间】:2019-10-14 12:27:54 【问题描述】:我是 Spark
的新手,它是库!
我有一个案例,我需要将数据集发送到自定义接收器的store()
,然后从这个自定义接收器流式传输数据。
我在自定义接收器类中以这种方式获取数据集:
Dataset<Row> jdbcDF = spark.read()
.format("jdbc")
.option("url", "jdbc:mysql:dbserver")
.option("dbtable", "schema.tablename")
.option("user", "username")
.option("password", "password")
.load();
现在我想将此数据集用作流数据,所以我必须将这个数据集存储在 Receiver 类的store()
中:
store(jdbcDF);
是否可以通过这种方式进行流式传输?
附注不使用Structured Streaming Programming
提前谢谢你!
【问题讨论】:
你找到解决办法了吗? 【参考方案1】:spark 不支持 jdbc 数据库表的流式传输。但它确实支持作为接收器。而是使用 kafka 连接将数据库表中的数据作为流服务发送,并通过 spark 结构化 straming 读取。
【讨论】:
以上是关于使用自定义接收器从数据集中接收流数据 [Spark Streaming]的主要内容,如果未能解决你的问题,请参考以下文章
使用 ForeachWriter 在 Spark 流中实现 Cassandra 接收器
如何使用spark streaming接收kafka中发送的自定义对象
Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十二)Spark Streaming接收流数据及使用窗口函数