Bigquery:带有 ARRAY 字段的 dbt 种子
Bigquery: dbt seed with ARRAY fields
我想加载一些小配置 table 我在 BigQuery 上使用种子。
到目前为止,我成功地做到了这一点,但现在我有一个带有数组字段的 table 。
我将数组放入通常的 BigQuery 格式 ["blablabla"],但没有成功。
我尝试在 dbt_prject.yml 中强制使用数据类型,但出现“ARRAY 不是有效值”错误。
有人曾经使用结构化字段做种吗?
丹妮尔
不幸的是,我认为这是不可能的。从一些在线研究来看,这似乎是以下方面的联合限制:
- BigQuery LoadJobConfig API that dbt calls here
- CSV 文件格式,实际上无法指定嵌套架构(related issue)
对此的 long-term 解决方案可能是支持 JSON-formatted 种子 (dbt#2365)。
同时,我建议您将种子列类型设置为 string
并在暂存模型中将其转换为数组(使用 json_extract_array
)。
我想加载一些小配置 table 我在 BigQuery 上使用种子。 到目前为止,我成功地做到了这一点,但现在我有一个带有数组字段的 table 。 我将数组放入通常的 BigQuery 格式 ["blablabla"],但没有成功。 我尝试在 dbt_prject.yml 中强制使用数据类型,但出现“ARRAY 不是有效值”错误。 有人曾经使用结构化字段做种吗? 丹妮尔
不幸的是,我认为这是不可能的。从一些在线研究来看,这似乎是以下方面的联合限制:
- BigQuery LoadJobConfig API that dbt calls here
- CSV 文件格式,实际上无法指定嵌套架构(related issue)
对此的 long-term 解决方案可能是支持 JSON-formatted 种子 (dbt#2365)。
同时,我建议您将种子列类型设置为 string
并在暂存模型中将其转换为数组(使用 json_extract_array
)。