使用自定义接收器从数据集中接收流数据[Spark Streaming]

时间:2019-10-14 12:27:54

标签: java apache-spark apache-spark-sql spark-streaming apache-spark-dataset

我是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 个答案:

答案 0 :(得分:1)

spark不支持jdbc数据库表的流传输。但它确实支持作为接收器。而是使用kafka连接将DB表中的数据作为流服务发送并通过spark结构化的框架读取数据。