我有.gz壓縮格式的行數據。我在pyspark 繼讀它是代碼片段如何通過pyspark讀取gz壓縮文件
rdd = sc.textFile("data/label.gz").map(func)
但我無法成功讀取上面的文件。我如何閱讀gz壓縮文件。我發現了一個類似的問題here,但我當前版本的spark與該問題中的版本不同。我希望在hadoop中應該有一些內置函數。
我有.gz壓縮格式的行數據。我在pyspark 繼讀它是代碼片段如何通過pyspark讀取gz壓縮文件
rdd = sc.textFile("data/label.gz").map(func)
但我無法成功讀取上面的文件。我如何閱讀gz壓縮文件。我發現了一個類似的問題here,但我當前版本的spark與該問題中的版本不同。我希望在hadoop中應該有一些內置函數。
Spark document明確規定,可以自動讀取gz
文件:
所有的星火基於文件的輸入法,包括文本文件,支持 上的目錄,壓縮文件和通配符運行也是如此。例如,對於 示例,您可以使用textFile(「/ my/directory」), textFile(「/ my/directory/.txt」)和textFile(「/ my/directory/ .gz」)。
我建議運行下面的命令,並觀察結果:
rdd = sc.textFile("data/label.gz")
print rdd.take(10)
假設火花從文件中找到的文件data/label.gz
,它將顯示10行。
請注意,像data/label.gz
這樣的文件的默認位置將位於spark-user的hdfs文件夾中。它在嗎?
你沒有寫出你得到的錯誤信息,但它可能不適合你,因爲gzipped files are not splittable。您需要使用可拆分的壓縮編解碼器,如bzip2。
可能的重複[爲什麼我的\'binaryFiles \'爲空時,我收集它們在pyspark?](http://stackoverflow.com/questions/38256631/why-are-my-binaryfiles-empty-when-i -collect-them-in-pyspark) –
這不是一對一重複的,但你有必要的代碼片段:) –