您能否就设计我的Spark Stream源提供一些建议?

时间:2016-03-31 02:50:02

标签: python apache-spark hdfs

我会尽力描述我的要求。但请随时问我是否还不清楚。

环境

我有5个节点(将来会更多)。每个人每5分钟生成一个大的CSV文件(大约1到2 GB)。我需要使用apache spark stream在五分钟内处理这些CSV文件。所以这5个文件是我的输入DStream源。

我打算做什么

我打算像下面这样使用textFileStream:

ssc.textFileStream(dataDirectory)

每隔5分钟,我会将这些CSV放在HDFS的目录中。然后使用上面的函数生成inputDStream。

以上方式的问题

textFileStream需要一个完整的文件而不是5个文件。我不知道如何在HDFS中合并文件

问题

  1. 你能告诉我如何通过python合并hdfs中的文件吗?
  2. 你有什么比我的方式更好的建议吗?还请建议我

1 个答案:

答案 0 :(得分:0)

您始终可以使用通配符来读取目录中的文件。  这应该不是问题。这意味着在任何给定时间,您的DStream的RDD是该给定时间内所有文件的合并结果。

就方法而言,你的工作很简单。

注意:唯一要注意的是CSV文件本身的原子性。您的文件应转到文件夹(您正在查看传入文件)mv而不是copy

由于 玛纳斯