【问题标题】:How to write to HDFS from a Spark Streaming script如何从 Spark Streaming 脚本写入 HDFS
【发布时间】:2018-02-13 18:00:40
【问题描述】:

我正在执行一个 Spark Streaming 应用程序,我想将一些结果转储到 HDFS,它不是 RDD 的形式,它们是简单的字符串。那么如何将这些数据转储到 HDFS ,如果有一种方法可以将这些数据附加到文件中,将会很有帮助。

【问题讨论】:

    标签: apache-spark spark-streaming


    【解决方案1】:

    你总是可以从字符串数组创建 rdd: val newRDD = sc.parallelize(/* here your list or array */)

    要将输出写入文件,您可以使用 saveAsTextFiles() 方法。 foreachRDD + saveAsParquet(path, overwrite = true) - 使用它您可以将每个 rdd 写入单个文件。

    【讨论】:

    • 感谢您的建议,我想知道是否有办法不将其转换为 RDD。上面的 saveAsParquet 方法是否可以用于附加到同一个文件,以免覆盖.
    • Stream 表示为一个 RDD 序列——所以你需要使用 rdd。要附加数据,您可以使用: val data = sc.textFile("/path/to/my/file") 比向数据添加新值并另存为新文件
    猜你喜欢
    • 2015-12-18
    • 2015-12-10
    • 1970-01-01
    • 2015-09-19
    • 2020-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    相关资源
    最近更新 更多