如何在Google Dataform中实现BigQuery表字段描述继承?
问题描述
针对BigQuery有如下SQLX定义:
test_join.sqlx
config { type: "table" } SELECT s1.sales_id, s1.sales_value, s1.customer_id, s2.customer_name FROM ${ref("source_1")} AS s1 LEFT JOIN ${ref("source_2")} AS s2 ON s1.customer_id = s2.customer_id
假设source_1和source_2两张表均已定义所有字段,能否让test_join表继承这两张源表的字段描述?
我查阅了GCP的Dataform相关文档,但仅找到在config{}块中手动指定字段描述的方法。
补充说明
我之前遗漏了一点:文档中实际上提到了如何通过JS代码复用列描述,但这种方式仍需手动指定。我想要实现的是从源表读取字段描述并自动应用到关联表中。
补充说明2
为方便后续用户参考——我认为目前无法直接实现该需求。我原本希望通过JS调用BigQuery的INFORMATION_SCHEMA.COLUMN_FIELD_PATHS获取列名和描述,再将结果作为对象传入config块,但根据相关文档说明:
"Dataform executes all JavaScript and SQLX code in a Dataform project inside a sandboxed environment that has no access to the database, data, or network."
目前我能想到的唯一替代方案是在GitLab/GitHub的CI流程中执行相关操作,读取schema并将包含字段名和描述的对象保存到"includes"文件夹的文件中。
内容的提问来源于stack exchange,提问作者ErrHuman
相关产品推荐
相关产品推荐

