2015-11-12 26 views
0

我在s3中有很多格式爲log-.tar.gz的文件。我想處理它們,處理它們(從每一行中提取一個字段)並將其存儲在一個新文件中。Spark處理來自s3的許多tar.gz文件

有很多方法可以做到這一點。一種簡單方便的方法是使用textFile方法訪問文件。

//Read file from s3 
rdd = sc.textFile("s3://bucket/project_name/date_folder/logfile1.*.gz") 

我關心集羣的內存限制。這樣,主節點將被重載。對集羣類型可以處理的文件大小是否有任何粗略估計?

我想知道是否有一種方法來並行化從s3獲取* .gz文件的過程,因爲它們已按日期分組。

+0

它已經並行... – zero323

+0

@ zero323謝謝你的答案。你的意思是textFile方法是優化的方式嗎? – santhosh

+0

是的。這就是爲什麼數據必須能夠從所有工作節點訪問的原因。 – zero323

回答

2

隨着parallelize/makeRDD創建RDDs/DataFrames所有方法的例外要求數據從所有員工都可以訪問和並行無負載上的驅動程序被執行。

+0

感謝您的回答。我是否可以知道是否有可以處理的文件大小的粗略估計值 – santhosh

+0

也取決於您的查詢和羣集大小 –