启用Change Data Feed的Delta表写入疑问:仅支持Databricks?
问题解答
这个情况确实属实。
早期的开源Delta Lake版本(比如0.8.x及更早)并不支持对启用了delta.enableChangeDataFeed=true的表执行写入操作(包括Merge、Update、Delete这类数据变更操作),此时执行Merge就会触发你遇到的AnalysisException异常。
而Databricks平台运行的是基于开源Delta Lake定制的专有版本,更早实现了对CDF启用表的写入支持,所以在Databricks上可以正常操作这类表。
不过需要补充的是,后续开源Delta Lake在2.0及以上版本中,已经完善了对CDF启用表的写入支持,包括Merge操作。如果你现在仍然遇到这个错误,可以先检查自己使用的Delta Lake版本是否过低,升级到较新版本后应该就能解决问题。
内容的提问来源于stack exchange,提问作者Francesco Saracco
相关产品推荐
相关产品推荐

