【发布时间】:2022-08-15 19:04:08
【问题描述】:
如何让 dbt 停止向我的 SQL 查询添加 \'limit\' 子句?这是我的查询:
\'alter table \"HEAP\".\"PPP_CONVERSION_PPP_LANDING_PAGE_VIEWED_\" drop column \"TARGET_TEXT\";
select * from \"HEAP\".\"PPP_CONVERSION_PPP_LANDING_PAGE_VIEWED_\"\'
但是当我编译查询时,它会添加 \'limit\' 500:
alter table \"HEAP\".\"PPP_CONVERSION_PPP_LANDING_PAGE_VIEWED_\" drop column \"TARGET_TEXT\";
select * from \"HEAP\".\"PPP_CONVERSION_PPP_LANDING_PAGE_VIEWED_\"
limit 500
/* limit added automatically by dbt cloud */
它到底为什么要添加它?
-
当您在 UI 中预览数据时,会自动添加限制。当您运行项目时,它不会添加限制。
-
TL;DR -- dbt 仅支持 SELECT SQL 语句。我在他们的文档中没有看到这一点,花了 10 个小时终于弄明白了。希望这有助于节省其他人的时间。
-
@clanham1022 这与您提出的问题无关。运行 DDL 的“正确”方式是使用 pre-hook。就您而言,虽然在文档中可能很难找到此信息,但在模型中运行除 DQL 之外的任何东西都没有任何意义。 dbt\ 的范式是以模型为中心的。
标签: dbt