迭代Spark

时间:2016-11-02 10:56:12

标签: python apache-spark iterator sliding-window

问题:
大量文件。每个文件是10MB,由json格式的记录组成,gzip。

我的代码片段正在将所有数据加载到内存中。没有必要这样做。我一次只需要几个小时的内存数据。我需要一个滑动窗口。

是否可以将火花流的“窗口”想法应用到文件中,我该怎么做?

我正在使用python

location = "s3://bucketname/xxxx/2016/10/1[1-2]/*/file_prefix*.gz"
rdd = sc.textFile(location)

1 个答案:

答案 0 :(得分:0)

您发布的代码段实际上没有计算。 Spark执行是懒惰的,并且只在你要求结果时强制计算“{变形”,例如map s,filter s甚至textFile - 例如计算RDD。

另一个注意事项是默认情况下大多数Spark操作流。如果您有300个10M json文件,那么您将获得300个单独的分区或任务。如果您愿意等待,可以在一个核心上对此数据集执行大多数RDD操作。

如果你需要一个滑动窗口,那么Spark streaming包中有很好的功能。但是你发布的片段没有任何问题!