【问题标题】:Spark Structured streaming ForeachWriter unable to get sparkContextSpark结构化流ForeachWriter无法获取sparkContext
【发布时间】:2017-07-12 16:25:30
【问题描述】:

我正在使用 Spark 结构化流从 Kafka 队列中读取 JSON 数据,但我需要将 JSON 数据写入 Elasticsearch。

但是,我无法在 ForeachWriter 中获取 sparkContext 以将 JSON 转换为 RDD。它抛出 NPE。

如何在 Writer 中获取SparkContext 以将 JSON 转换为 RDD?

【问题讨论】:

    标签: scala apache-spark spark-structured-streaming elasticsearch-spark


    【解决方案1】:

    你不能。 ForeachWriter 中的方法在执行器中运行。您可以自己编写 Elasticsearch 接收器,也可以调用 Elasticsearch 的原始 API 来写入数据。

    【讨论】:

    • “使用elasticsearch-hadoop,任何RDD都可以保存到Elasticsearch,只要它的内容可以翻译成文档”elastic.co/guide/en/elasticsearch/hadoop/current/spark.html
    • 除非你写一个 sink,否则你无法得到 RDD。
    • OP 应该有一个来自 Kafka DStream 的 RDD。
    • @zsxwing 我在 ForeachWriter 中创建了 spark 会话,它在本地工作但在集群中失败。在 ForeachWriter 中进行另一个会话是否正确?
    猜你喜欢
    • 2018-03-30
    • 2018-08-20
    • 2017-05-04
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 2017-08-23
    • 2017-10-09
    • 1970-01-01
    相关资源
    最近更新 更多