如何在执行dbt run/build前查看含头部语句的完整待执行SQL
在dbt运行前查看包含DML头部的完整编译SQL
默认情况下,dbt compile仅生成模型核心的SELECT语句,不会包含dbt实际执行时的INSERT INTO/MERGE INTO/CTAS这类DML头部,而完整的执行SQL只有在dbt run或dbt build执行后才会出现在target/run目录。要在运行模型前提前查看这些完整SQL,可通过以下方式实现:
使用
dbt run --dry-run或dbt build --dry-run命令
该命令会完成完整的编译流程,生成与实际运行完全一致的包含DML头部的SQL,但不会真正执行模型。生成的完整SQL会直接输出到终端,同时也会写入target/run目录下对应模型的.sql文件中。如果只想查看特定模型的SQL,可以加上--select参数缩小范围,示例:dbt run --dry-run --select your_target_model直接查看
--dry-run生成的target/run文件
执行dbt build --dry-run后,target/run目录下会生成所有待执行模型的完整SQL文件,你可以直接打开这些文件进行审核,内容和实际运行时执行的SQL完全一致。
内容的提问来源于stack exchange,提问作者Ajmal Moideen
相关产品推荐
相关产品推荐

