Spark读取的文件夹目录,其文件名包含在结果数据框中

时间:2019-11-28 08:42:50

标签: apache-spark pyspark databricks

我想读取嵌套目录中的所有文件,并对每个文件执行一些转换。但是,我还需要来自文件实际路径的一些信息。当前是这样:

sdf = spark.read.text(path)
sdf.show()
+--------------------+
|               value|
+--------------------+
|                 ...|
+--------------------+
|                 ...|
+--------------------+

但是,我想要类似的东西:

sdf = spark.read.text(path, include_file_paths=True)
sdf.show()
+--------------------+---------+
|               value|     path|
+--------------------+---------+
|                 ...| /a/b.txt|
+--------------------+---------+
|                 ...| /c/d.txt|
+--------------------+---------+

这似乎应该可行,但是我找不到任何描述它的资源。我想念什么?

1 个答案:

答案 0 :(得分:1)

您可以按以下方式使用input_file_name内置函数:

sdf.withColumn("path", input_file_name)

此内置功能在任务级别执行。