Spark:无输入文件名

时间:2018-08-06 17:51:37

标签: csv apache-spark filenames yarn

在应用程序中,我们读取多个csv文件,选择一些字段,然后将其写入单个csv中。

对于所写的每一行,我们需要知道它来自哪个文件。有一个内置的input_file_name()函数不适用于我们:

df...
.withColumn("inputfilename_", input_file_name())

在生成的文件中,始终有:

"inputfilename_":""

我们将spark 2.1.0与纱线一起使用。您有任何想法如何使其工作吗?

1 个答案:

答案 0 :(得分:0)

我正在读取CSV,然后加入另一个数据框,然后选择inputfilename(),但是那不起作用(在集群模式下,但是在本地!)。

现在使用

df.withColumn("inputfilename_", input_file_name())
  .join(...)
  .select($"inputfilename_")

在连接之前查找输入文件名,效果很好