问题描述
许多示例建议读取诸如spark.read("path/partition=value/*")
之类的数据,但是如何从路径定义列呢?
例如,我想读取path/2019/12/31/*
并获取year
,month
,day
列,这些列是从路径派生的,而不是从数据本身。 pyspark如何做到?
解决方法
您的问题:how to define a column from path?
取决于文件格式。就是在parquet
上,此信息存储在文件路径中。
如果您的数据框以分区列year,month,day
的形式存储在镶木地板中,则它看起来像
/yourParquetLocation/year=2019/month=12/day=31
所以这可以工作
spark.read.parquet("/yourParquetLocation/year=2019/month=12/day=31")