我对使用Spark处理位于HDFS中的非结构化文件有疑问。Spark处理非结构化文件
假设在这种情况下,我们有很多文件位于一个HDFS文件夹中。因此,Spark应用程序将读取该特定HDFS文件夹中的所有文件并对其进行处理。我在这里的问题是,如果我们使用下面的代码在数据帧读取这些文件,并把它,它会打内存问题的出来,如果HDFS文件夹中包含大量的文件,每个文件都有规模庞大:
df = spark.read.text('/user/tester/datafiles')
处理HDFS文件的最佳做法或方法是什么?我们是否需要循环逐个文件并对其进行处理,而不是一次读取所有文件?
感谢。
我不认为你需要做任何事情,因为文件被存储为hdfs 128 MB的块,第二个是火花将只提取它可以在给定的内存中处理的内存量,否则你可以选择重新分区 –