在数据块中加载增量 table 特定分区的最佳做法是什么?
What is the best practice to load a delta table specific partition in databricks?
我想知道加载增量 table 特定分区的最佳方法是什么?
选项 2 是否在过滤之前加载所有 table?
选项 1:
df = spark.read.format("delta").option('basePath','/mnt/raw/mytable/')\
.load('/mnt/raw/mytable/ingestdate=20210703')
(这里需要basePath选项吗?)
选项 2:
df = spark.read.format("delta").load('/mnt/raw/mytable/')
df = df.filter(col('ingestdate')=='20210703')
非常感谢!
在第二个选项中,spark 仅加载过滤条件中提到的相关分区,内部 spark partition pruning
并仅从源 table.[=11 加载相关数据=]
而在第一个选项中,您直接指示 spark 仅加载定义的各个分区。
所以在这两种情况下,您最终只会加载各自的分区数据。
我想知道加载增量 table 特定分区的最佳方法是什么? 选项 2 是否在过滤之前加载所有 table?
选项 1:
df = spark.read.format("delta").option('basePath','/mnt/raw/mytable/')\
.load('/mnt/raw/mytable/ingestdate=20210703')
(这里需要basePath选项吗?)
选项 2:
df = spark.read.format("delta").load('/mnt/raw/mytable/')
df = df.filter(col('ingestdate')=='20210703')
非常感谢!
在第二个选项中,spark 仅加载过滤条件中提到的相关分区,内部 spark partition pruning
并仅从源 table.[=11 加载相关数据=]
而在第一个选项中,您直接指示 spark 仅加载定义的各个分区。
所以在这两种情况下,您最终只会加载各自的分区数据。