DBT manifest.json 数据类型为空

DBT manifest.json data type is null

我正在根据 dbt 为我生成的 manifest.json 创建很多东西。但是无论出于何种原因,每列的“data_type”属性 在 manifest.json 中始终是 None,即使我可以在 catalog.json 中看到它,我相信数据类型是从数据库生成的。

如何在我的 manifest.json 文件中填充 data_type 属性?

dbt Slack thread 中的一些有用答案:

第一个回复(h/t Daniel Luftspring)

不确定这是否是唯一的方法,但我是 运行 dbt 版本 0.20.1 您可以将 data_type 指定为 [=25= 中的列 属性 ] 它将像这样显示在清单中:

columns:
  - name: city
    data_type: string

如果您有一个大项目并希望将其自动化,您可能可以将一个脚本放在一起以就地编辑您的模式文件并使用信息模式将数据类型与您的数据库同步

第二次回复(h/t乔纳森·塔尔米)

FYI catalog.json has data type becaause it queries the metadata data tables in your dwh (e.g. info schema in snowflake) to contruct the catalog, but your traditional dbt compile/run/etc which. generates a manifest does not have such queries