Pyspark 从多个文件夹读取增量表
我在做一个数据库。我像这样读取我的增量表:Pyspark 从多个文件夹读取增量表,pyspark,databricks,azure-data-lake,azure-databricks,pyspark-dataframes,Pyspark,Databricks,Azure Data Lake,Azure Databricks,Pyspark Dataframes,我在做一个数据库。我像这样读取我的增量表: path = "/root/data/foo/year=2021/" df = spark.read.format("delta").load(path) 但是在year=2021文件夹中,每天都有子文件夹day=01,day=02,day=03,等等 例如,我如何阅读第4、5、6天的文件夹 编辑#1 我正在阅读不同问题的答案,似乎实现这一点的正确方法是使用应用于分区列的过滤器 edit2 尝试下面的一些答案是
path = "/root/data/foo/year=2021/"
df = spark.read.format("delta").load(path)
但是在year=2021
文件夹中,每天都有子文件夹day=01
,day=02
,day=03
,等等
例如,我如何阅读第4、5、6天的文件夹
编辑#1
我正在阅读不同问题的答案,似乎实现这一点的正确方法是使用应用于分区列的过滤器
edit2
尝试下面的一些答案是我遇到的消息错误(开始时我没有看到):
将它们列为用逗号分隔的值,并用花括号括起来
path = "/root/data/foo/year=2021/{04,05,06}/"
或
读取分区增量表的更好方法似乎是在分区上应用筛选器:
df = spark.read.format("delta").load('/whatever/path')
df2 = df.filter("year = '2021' and month = '01' and day in ('04','05','06')")
注意:根据您的要求更改功能。它不工作。。。regex没有被解释为regex,而是被解释为一个简单的字符串……我有以下错误`AnalysisException:example_path/year=2021/month=01/day=0[4-6]不存在`我在看一张三角表,可能不一样。是的,我查过了path@SimonBreton也许试试我编辑过的答案?不,我也有错误
path = "/root/data/foo/year=2021/[04,05,06]/"
path = "/root/data/foo/year=2021/0[4|5|6]/"
df = spark.read.format("delta").load('/whatever/path')
df2 = df.filter("year = '2021' and month = '01' and day in ('04','05','06')")