Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 在HDFS上编写Kafka流媒体结果_Hadoop_Apache Kafka_Apache Kafka Streams - Fatal编程技术网

Hadoop 在HDFS上编写Kafka流媒体结果

Hadoop 在HDFS上编写Kafka流媒体结果,hadoop,apache-kafka,apache-kafka-streams,Hadoop,Apache Kafka,Apache Kafka Streams,我编写了一个Kafka流媒体应用程序,使用以下代码将结果写入本地文件: source.mapValues(record -> finall(record)).mapValues(record -> Arrays.deepToString(record)) .writeAsText(PATH); 尝试使用以下命令在HDFS上保存数据: source.mapValues(record -> finall(record)).mapValues(record

我编写了一个Kafka流媒体应用程序,使用以下代码将结果写入本地文件:

source.mapValues(record -> finall(record)).mapValues(record -> Arrays.deepToString(record))
            .writeAsText(PATH);
尝试使用以下命令在HDFS上保存数据:

source.mapValues(record -> finall(record)).mapValues(record -> Arrays.deepToString(record))
            .writeAsText(hdfs://localhost:54310/output);
it错误:

Unable to write stream to file at [hdfs://localhost:54310/output] hdfs:/localhost:54310/output (No such file or directory)

有没有办法在HDFS上写入Kafka流结果?

我会避免这种模式,而是从KStreams写回Kafka主题,然后使用。通过这种方式,您可以将流处理与在别处写入数据分离

您提出的策略是否更有效?如果我坚持直接从Kafka流媒体编写HDF会怎么样?有可能吗?有可能,但您需要在代码中手动创建HDFS客户机。例如,您可以使用
.foreach()
而不是
writesText()
。注意,这些写入必须是同步写入——否则,若失败,您可能会丢失数据。因此,按照罗宾的建议写回卡夫卡并使用Connect是推荐的模式。