【发布时间】:2021-06-09 01:59:42
【问题描述】:
我正在尝试从一个充满 csv 文件的目录创建一个数据框,但我想将数据框中每个文件的文件名保留为附加列,在 pyspark 上是否可以不使用 pandas?,我也想从文件名中删除路径。
from pyspark.sql.functions import input_file_name
df = spark.read.option("delimiter", "\t").csv(mount_point_input)
df_.withColumn("filename", input_file_name())
我尝试使用 input_file_name(),但数据框上的所有行都有相同的文件名。
输入:
False 2021-06-05T14:45:09 Server True
True 2021-06-02T21:32:42 Server True
输出:
+-----+-----------------------+-------+-------+--------------------------------+
False 2021-06-05T14:45:09 Server True /2021-06-02-general/c32d3f47.csv
+-----+-----------------------+-------+-------+--------------------------------+
False 2021-06-02T21:32:42 Server True /2021-06-02-general/c32d3f47.csv
+-----+-----------------------+-------+-------+--------------------------------+
预期输出:
+-----+-----------------------+-------+-------+--------------------------------+
False 2021-06-05T14:45:09 Server True c32d3f47.csv
+-----+-----------------------+-------+-------+--------------------------------+
False 2021-06-02T21:32:42 Server True c32d3f48.csv
+-----+-----------------------+-------+-------+--------------------------------+
【问题讨论】:
标签: python apache-spark pyspark apache-spark-sql