我用Spark流做分析。经过分析,我必须保存在hdfsKafka消息。每个kafka消息都是一个xml文件。我不能用 rdd.saveAsTextFile 因为这样可以节省整个rdd。rdd的每个元素都是kafka消息(xml文件)。如何使用spark在hdfs中保存每个rdd元素(文件)。
rdd.saveAsTextFile
y1aodyip1#
我会用另一种方式。将转换后的数据流回到kafka,然后使用kafka connect的hdfs连接器将数据流传输到hdfs。Kafka连接是ApacheKafka的一部分。hdfs连接器是开源的,可以单独使用,也可以作为confluent平台的一部分使用。这样做可以将处理与将数据写入hdfs分离开来,从而使管理、故障排除和扩展变得更容易。
1条答案
按热度按时间y1aodyip1#
我会用另一种方式。将转换后的数据流回到kafka,然后使用kafka connect的hdfs连接器将数据流传输到hdfs。Kafka连接是ApacheKafka的一部分。hdfs连接器是开源的,可以单独使用,也可以作为confluent平台的一部分使用。
这样做可以将处理与将数据写入hdfs分离开来,从而使管理、故障排除和扩展变得更容易。