如何在sqlmesh中编写source.yml来从Snowflake导入表?

问题描述 投票:0回答:1

我正在尝试在 sqlmesh 上运行模型,就像在 dbt 中一样,但我发现了一些问题。首先,我不知道 sqlmesh 中的 source.yml 的语法是什么。我在 dbt 上找到了示例,但没有找到 sqlmesh 的示例。另外,我想知道如何将 sqlmesh 中的文件夹组织为雪花中的模式,以保存模型的中间步骤。再说一遍,我知道 dbt 的代码是什么,但不知道 sqlmesh 的代码是什么样的。

我尝试在 sqlmesh 中使用与 dbt 中相同的语法,但它不起作用。

提前感谢您的帮助!

data-science dbt datamodel
1个回答
0
投票

在 SQLMesh 中,如果源表位于不同的目录中,您可以直接在模型中引用源表,如

<schema>.<table_name>
<catalog>.<schema>.<tablename>

例如,如果我有一个源表,其中包含列 cola 和 colb、模式 foo 和表名称 bar,我可以直接在 SQLMesh 中执行以下操作:

SELECT cola, colb FROM foo.bar

此外,如果您希望从源表开始完整的列级沿袭,可以使用命令

sqlmesh create_external_models
,该命令将转到数据仓库并将项目所有源表的架构本地记录在名为 schema 的文件中。 yaml。 SQLMesh 可以做到这一点,因为它能够读取和理解模型中的 SQL,包括哪些表是源表。

© www.soinside.com 2019 - 2024. All rights reserved.