【问题标题】:How can I stop dbt cloud from adding a 'limit' clause to my SQL query?如何阻止 dbt cloud 在我的 SQL 查询中添加 \'limit\' 子句?
【发布时间】: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


【解决方案1】:

这是 dbt 云控制台中的硬限制。但是,此代码并未在部署的模型中具体化。

在控制台中查看超过 500 个结果的用途有限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-30
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    相关资源
    最近更新 更多