我正在使用Airflow来协调ETL。许多任务具有drop table
子句,这些子句在用户创建没有后期绑定的视图时会失败。不能将所有任务都更改为drop cascade
。
有什么方法可以强制后期绑定?通过用户权限或Redshift配置。
答案 0 :(得分:1)
答案 1 :(得分:0)
否,您不能强制所有视图在集群或数据库级别使用后期绑定。您可以创建使用v_generate_view_ddl
视图逻辑的存储过程,以获取所有从属视图的DDL并自动重新创建它们。
FWIW,如果可能的话,我建议不要直接在面向用户的表中执行ETL。针对用户无法访问的登台模式运行ETL,然后在加载和准备好数据后将数据“翻转”到其模式中。您可以使用* def testCall = call read('this:feature1.feature')
快速进行翻转。