我想读取嵌套目录中的所有文件,并对每个文件执行一些转换。但是,我还需要来自文件实际路径的一些信息。当前是这样:
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|
+--------------------+---------+
这似乎应该可行,但是我找不到任何描述它的资源。我想念什么?
答案 0 :(得分:1)
您可以按以下方式使用input_file_name内置函数:
sdf.withColumn("path", input_file_name)
此内置功能在任务级别执行。