【问题标题】:dbt how to create custom table without using CTAS?dbt 如何在不使用 CTAS 的情况下创建自定义表?
【发布时间】:2021-11-21 10:29:21
【问题描述】:

我想创建一个包含特定列和数据类型的空表,我没有任何可以从中执行 SELECT * FROM 的参考表。以下链接有一张我打算做的图片Please find the attached image

【问题讨论】:

  • 表格会是空的吗?
  • 是的,表是空的。 @dfundako
  • 你为什么要通过 dbt 来做这个?
  • Dbt 是一个转换工具,它可以用 CTAS 创建表,为什么不能用简单的命令“create table test”创建。我遇到了一个场景,我想创建一个包含 10 列的表,然后将值放入新表的 5 列中。 @dfundako
  • 我知道 dbt 是什么,但你想要完成的不是 dbt 的用途。标准的 dbt 方法是使用 cte 从另一个源/模型查询并实现一个新的视图/表。您正在尝试创建一个空表,这在 dbt 中通常不会发生。你可能最好做一个种子文件并在你的 yml 文件中定义数据类型。

标签: sql dbt


【解决方案1】:

DBT 不允许创建空表(没有 CTAS 的空表)。要创建自定义列,请参考一个表并添加您的列,如下所示:

中选择 ID,强制转换(NULL AS NEW_COLUMN)

如果您想创建一个包含不经常更改的值的表,请改用种子。 Documentation link

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 2013-08-16
    • 1970-01-01
    • 2013-02-10
    相关资源
    最近更新 更多