gpt4 book ai didi

java - Spark -store JavaDStream rdd 到本地磁盘

转载 作者:行者123 更新时间:2023-11-30 08:36:57 25 4
gpt4 key购买 nike

我正在编写一个从 kafka 主题读取的 spark 代码。

SparkConf sparkConfig =
new SparkConf().setAppName("KafkaStreaming").setMaster("local[5]");
JavaStreamingContext jsc =
new JavaStreamingContext(sparkConfig,Durations.seconds(5));
final HiveContext sqlContext = new HiveContext(jsc.sc());
JavaPairReceiverInputDStream<String, String> messages =
KafkaUtils.createStream(jsc,
prop.getProperty("zookeeper.connect"),
prop.getProperty("group.id"),
topicMap);

JavaDStream<String> lines =
messages.map(
new Function<Tuple2<String, String>, String>() {
private static final long serialVersionUID = 1L;

public String call(Tuple2<String, String> tuple2) {
return tuple2._2();
}
});

如何将这些行 rdd 存储在我的本地磁盘中。
我正在尝试以下内容:

lines.dstream().saveAsTextFiles   

但它不起作用。有没有其他方法可以将文本文件存储到我的 localdisk.spark

最佳答案

根据您的需要,有几个选项:

  • 您可以像您提到的那样使用 saveAsTextFiles。它应该可以工作,所以请指定完整示例,我会在自己的机器上尝试。每个批处理间隔的文件名是根据prefixsuffix生成的:“prefix-TIME_IN_MS.suffix”。
  • 您可以创建任何自定义逻辑来保存 foreachRDD() 方法中的事件
  • 您可以启用预写日志,所有消息都将被以二进制格式存储在checkpoint目录下

关于java - Spark -store JavaDStream<String> rdd 到本地磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37522507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com