如何读取文件路径值作为 Spark 中的列?

How to read file path values as columns in Spark?

我在 Azure Synapse Notebooks 中工作,并将文件从格式正确的文件夹路径中读入 Dataframe,如下所示:

鉴于该通配符引用了很多文件夹,我如何将“State”值捕获为结果 Dataframe 中的一列?

使用input_file_name函数获取完整的输入路径,然后应用regexp_extract提取您想要的部分。

示例:

df.withColumn("filepath", F.input_file_name())
df.withColum("filepath", F.regexp_extract("filepath", "State=(.+)\.snappy\.parquet", 1)

无需使用通配符*
尝试:df = spark.read.load("abfss://....dfs.core.windows.net/")

Spark 可以直接读取分区文件夹,然后 df 应该包含具有不同值的列 state