gpt4 book ai didi

sql - 即使不满足条件,Delta Lake MERGE/UPDATE 也会重写数据

转载 作者:行者123 更新时间:2023-12-04 08:15:29 25 4
gpt4 key购买 nike

我试图减少不必要的数据写入,只在特定条件下写入 delta 湖。为什么这些语句总是重写数据?

%sql
MERGE INTO tblTest as target
USING temp_Source as source
ON target.ID = source.ID
WHEN MATCHED AND 1 = 0
THEN UPDATE SET *
或这个
deltaTable.alias("target").merge(
source = dfSource.alias("source"),
condition = expr("source.ID = target.ID")) \
.whenMatchedUpdateAll('1 = 0') \
.execute()
我期望只会更新表元数据,并且不会将源中的数据写入目标。

最佳答案

这是 Delta 的一个已知行为 - 它会重写在 ON 中具有匹配记录的每个文件。条款,不管 WHEN MATCHED 的条件如何/WHEN NOT MATCHED .如果您想避免这种情况,请将您的条件移至 ON条款。

关于sql - 即使不满足条件,Delta Lake MERGE/UPDATE 也会重写数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65724447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com