在应用程序中,我们读取多个csv文件,选择一些字段,然后将其写入单个csv。
对于编写的每一行,我们都需要知道它来自哪个文件。有一个内置的input_file_name((函数对我们不起作用:
df...
.withColumn("inputfilename_", input_file_name())
在生成的文件中,总是有:
"inputfilename_":""
我们将spark 2.1.0用于纱线。你知道如何使它工作吗?
我正在读取一个CSV,然后加入另一个数据帧,然后选择inputfilename((,但这不起作用(在集群模式下,但在本地模式下起作用!(。
现在使用
df.withColumn("inputfilename_", input_file_name())
.join(...)
.select($"inputfilename_")
ia在加入之前查找输入文件名,它可以很好地进行