IBM Cloud Docs
安装和使用 dbt-watsonx-presto

安装和使用 dbt-watsonx-presto

本节介绍安装和使用 dbt-watsonx-presto 的步骤。

过程

  1. 在系统中运行以下命令安装 dbt-watsonx-presto

    pip install dbt-watsonx-presto
    
  2. 运行以下命令验证 dbt 版本。

    dbt –version
    
  3. 运行以下命令创建 dbt 项目。

    dbt init <project_name>
    
    1. 选择 Presto 号码并输入。 例如:对于 [1] watsonx_presto,输入 1
    2. 如果已有同名项目,则必须确认是否覆盖 profiles.yml。 输入 Y 表示确认,输入 N 表示放弃。
  4. 设置 profiles.yml 文件。 有关更多信息,请参阅 配置(设置您的配置文件)

  5. 要测试连接,请运行

    cd <project_name>
    dbt debug
    
  6. 在种子文件夹中创建 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 文件中使用额外的空格进行播种。 如果包含额外的空格,在查询时必须使用与模型中相同的空格数,以免出错。

  7. 使用以下命令运行种子,创建表格并插入数据。

    cd <project_name>
    dbt run
    
  8. <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
      

      模型内只支持选择语句。

    分号 (;) 字符在模型中受到限制。

  9. 使用以下命令创建表格或视图,运行模型。

    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 运行才能正常工作。

  10. 要生成有关已执行操作的文件,请运行

    cd <project_name>
    dbt docs generate
    dbt docs serve
    

    默认情况下,它在 localhost:8080 上运行。 要更改端口,请运行

    dbt docs serve –-port <port_number>