【问题标题】:Spark : no input file nameSpark:没有输入文件名
【发布时间】:2018-08-06 17:51:37
【问题描述】:

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

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

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

在生成的文件中,总是有:

"inputfilename_":""

我们使用带有 yarn 的 spark 2.1.0。你知道如何让它工作吗?

【问题讨论】:

  • 该功能对我有用。您能否提供一个最小的代码示例,以便我们可以重现您的问题并更好地帮助您? :-)

标签: csv apache-spark filenames hadoop-yarn


【解决方案1】:

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

现在

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

在加入之前寻找输入文件名,它工作正常

【讨论】:

    猜你喜欢
    • 2018-08-11
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    相关资源
    最近更新 更多