首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spark streaming中卡桑德拉接收器的ForeachWriter实现

Spark streaming中卡桑德拉接收器的ForeachWriter实现
EN

Stack Overflow用户
提问于 2019-02-24 01:01:04
回答 1查看 169关注 0票数 0

显然在Spark streaming中没有对Cassandra接收器的内置支持。我在网上找到了这个例子,它基于ForEachWriter为Spark structured streaming实现了一个自定义的Cassandra接收器:

https://dzone.com/articles/cassandra-sink-for-spark-structured-streaming

我知道我们需要创建一个ForeachWriter实现,它负责打开到接收器(Cassandra)的连接,写入数据并关闭连接。所以CassandraSinkForeachCassandraDriver类是有意义的。

但是,我不知道是否需要使SparkSessionBuilder可序列化,甚至不需要在CassandraDriver类中初始化SparkSession实例。这样做的唯一原因似乎是从sparkConf初始化CassandraConnector

根据CassandraConnector文档,可以从传入的CassandraConnectorConfig初始化CassandraConnector对象:http://datastax.github.io/spark-cassandra-connector/ApiDocs/2.4.0/spark-cassandra-connector/#com.datastax.spark.connector.cql.CassandraConnector

有没有人能解释一下是否需要在workers中初始化SparkSession?这是一个通用的模式吗?如果是,为什么要这样做?

EN

回答 1

Stack Overflow用户

发布于 2019-02-25 15:27:27

如果你可以升级到Spark2.4,你就可以使用ForEachBatch,在那里你可以在流数据帧上应用批处理编写器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54843918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档