如何读取文件路径值作为 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
。
我在 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
。