Delta Live Streaming表间执行APPLY CHANGES报错,该场景是否支持?
Delta Live Streaming表间执行APPLY CHANGES报错问题解答
当尝试从一张Delta Live Streaming(DLS)表向另一张DLS表执行APPLY CHANGES操作时,触发了如下错误:
pyspark.sql.utils.AnalysisException: rajib_db.employee_address_stream is a permanent view, which is not supported by streaming reading API such as
DataStreamReader.tableyet.
这个场景不被支持。原因是Delta Live Streaming表在底层以永久视图形式存在,而当前Spark流读取API(如DataStreamReader.table)不支持从永久视图读取流数据,APPLY CHANGES执行时依赖流读取能力处理上游DLS表数据,因此触发该错误。
替代方案:
- 直接以上游DLS表对应的底层Delta表作为
APPLY CHANGES的数据源,而非引用DLS表视图 - 通过DLS管道定义流式处理任务,实现两张表的数据同步,替代
APPLY CHANGES操作
内容的提问来源于stack exchange,提问作者Rajib Deb
相关产品推荐
相关产品推荐

