安装和使用 dbt-watsonx-presto
本节介绍安装和使用 dbt-watsonx-presto
的步骤。
过程
-
在系统中运行以下命令安装
dbt-watsonx-presto
。pip install dbt-watsonx-presto
-
运行以下命令验证 dbt 版本。
dbt –version
-
运行以下命令创建 dbt 项目。
dbt init <project_name>
- 选择 Presto 号码并输入。 例如:对于
[1] watsonx_presto
,输入1
。 - 如果已有同名项目,则必须确认是否覆盖
profiles.yml
。 输入 Y 表示确认,输入 N 表示放弃。
- 选择 Presto 号码并输入。 例如:对于
-
设置
profiles.yml
文件。 有关更多信息,请参阅 配置(设置您的配置文件)。 -
要测试连接,请运行
cd <project_name> dbt debug
-
在种子文件夹中创建 CSV 文件,将数据作为种子输入 watsonx.data 中。 例如:
id, value 1,100 2,200 3,300 4,400
执行种子文件时可能会遇到错误,因为 dbt 无法根据连接器中的数据处理所有数据类型。 要解决这个问题,可以明确定义 dbt 应使用的数据类型。 转到 <project_name>/dbt_project.yml 并添加:
seeds: <project_name>: <seed_file_name>: +column_types: <col_1>: datatype <col_2>: datatype
例如:
seeds: demo: sample: +column_types: value: VARCHAR(20)
此处指定的列名应与 CSV 文件中的列名一致。
请勿在 CSV 文件中使用额外的空格进行播种。 如果包含额外的空格,在查询时必须使用与模型中相同的空格数,以免出错。
-
使用以下命令运行种子,创建表格并插入数据。
cd <project_name> dbt run
-
在
<project_name>/models
中,有执行操作的模型。 默认情况下,dbt 将操作设置为view
。 您可以通过以下方法之一创建表格或视图:-
在型号内指定(仅适用于该型号)
{{ config(materialized='table/view') }}
如果使用 (--) 将该语句注释掉,dbt 仍会使用该配置。 要禁用它,可将其完全删除或以 Jinja 风格注释(
{# … #}
)。 -
在 dbt_project.yml 中指定(适用于所有型号)
models: <project_name>: <model_folders>: +materialized: table/view
例如:
models: demo: example: +materialized: table
模型内只支持选择语句。
分号 (;) 字符在模型中受到限制。
-
-
使用以下命令创建表格或视图,运行模型。
cd <project_name> dbt run
您还可以指定所需的测试:
models: - name: <model_name> description: "some description" columns: - name: <col_name> description: "some description" data_tests: - <test_name_1> - <test_name_2>
例如:
models: - name: my_first_dbt_model description: "A starter dbt model" columns: - name: id description: "The primary key for this table" data_tests: - unique - not_null
连接器必须支持“创建表格为选择”(CTAS),dbt 运行才能正常工作。
-
要生成有关已执行操作的文件,请运行
cd <project_name> dbt docs generate dbt docs serve
默认情况下,它在 localhost:8080 上运行。 要更改端口,请运行
dbt docs serve –-port <port_number>