【发布时间】:2021-09-14 02:17:40
【问题描述】:
我正在使用以下代码读取文件目录:
val data = sc.textFile("/mySource/dir1/*")
现在我的data rdd 包含目录中所有文件的所有行(对吗?)
我现在想为每一行添加一个带有源文件名的列,我该怎么做?
我尝试过的其他选项是使用 WholeTextFile,但我不断出现内存不足异常。 5 台服务器 24 核 24 GB(executor-core 5 executor-memory 5G) 有什么想法吗?
【问题讨论】:
-
如果您使用上面的代码 sn-p,我认为没有办法获取文件名。但是,您只能通过
sc.wholeTextFiles("/path/to/dir").keys获取文件名。但我不认为您的错误是由使用 wholeTextFile 与 textFile 引起的 - 它是由您之后对数据所做的事情引起的。你应该发布你的其他代码。 -
我没有其他代码,只有 wholeTextFile 和 count()
-
1.目录中有多少文件; 2. 你有没有先在本地机器上尝试你的代码 3. 你如何运行 spark
-
目录中有大约1222个文件
-
本地什么意思,文件在hdfs上
标签: scala apache-spark