Spark 读取文件夹目录,文件名包含在结果数据框中
Spark read folder directory with file names included in resulting data frame
我想读取嵌套目录中的所有文件,并对每个文件执行一些转换。但是,我还需要来自文件实际路径的一些信息。这是当前的:
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|
+--------------------+---------+
这看起来应该是可行的,但我找不到任何描述它的资源。我错过了什么?
您可以使用 input_file_name 内置函数,如下所示:
sdf.withColumn("path", input_file_name)
此内置函数在任务级别执行。
我想读取嵌套目录中的所有文件,并对每个文件执行一些转换。但是,我还需要来自文件实际路径的一些信息。这是当前的:
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|
+--------------------+---------+
这看起来应该是可行的,但我找不到任何描述它的资源。我错过了什么?
您可以使用 input_file_name 内置函数,如下所示:
sdf.withColumn("path", input_file_name)
此内置函数在任务级别执行。