我對使用Spark處理位於HDFS中的非結構化文件有疑問。Spark處理非結構化文件
假設在這種情況下,我們有很多文件位於一個HDFS文件夾中。因此,Spark應用程序將讀取該特定HDFS文件夾中的所有文件並對其進行處理。我在這裏的問題是,如果我們使用下面的代碼在數據幀讀取這些文件,並把它,它會打內存問題的出來,如果HDFS文件夾中包含大量的文件,每個文件都有規模龐大:
df = spark.read.text('/user/tester/datafiles')
處理HDFS文件的最佳做法或方法是什麼?我們是否需要循環逐個文件並對其進行處理,而不是一次讀取所有文件?
感謝。
我不認爲你需要做任何事情,因爲文件被存儲爲hdfs 128 MB的塊,第二個是火花將只提取它可以在給定的內存中處理的內存量,否則你可以選擇重新分區 –