dbt-watsonx-sparkのインストールと使用

このセクションでは、dbt-watsonx-spark をインストールして使う手順を説明します。

開始前に

  • IBM Cloud上のwatsonx.dataへのサブスクリプション。
  • watsonx.dataにネイティブSparkエンジンを提供します。
  • DBTコア をインストールします。

手順

Sparkクエリー・サーバーの作成

Sparkエンジンをdbtツールと統合し、クエリーエンジンとして動作させるには、Sparkクエリーサーバーを作成する必要がある。 Sparkクエリサーバーの作成 」を参照してください。

クエリサーバー接続の詳細を取得する

dbtツールでプロファイルファイルを設定するには、クエリーサーバー接続の詳細を保存する必要があります。 クエリ・サーバ接続の詳細を取得する 」を参照してください。

dbtツール用にprofiles.yamlをセットアップする

  1. ホームディレクトリの.dbtにある profiles.yml ファイルにアクセスする。
  2. パラメータ値を変更して接続の詳細を貼り付けます。
  3. profiles.yml ファイルを設定する。 詳しくは、コンフィギュレーション(プロフィールの設定)をご覧ください。

dbtツールをインストールし、接続を確認する

  1. 以下のコマンドを実行して、dbt-watsonx-spark をインストールしてください。

    pip install dbt-watsonx-spark
    
  2. 以下のコマンドを実行して、dbtのバージョンを確認する。

    dbt --version
    
  3. dbtプロジェクトを作成したい場合は、<project_name>を指定し、以下のコマンドを実行する。

    dbt init <project_name>
    
    1. システムは、使用するデータベースを選択するよう促します。 watsonx_spark を選択します。
    2. watsonx.dataのホスト、URI、スキーマを指定してください。
  4. 接続をテストするには

    cd <project_name>
    dbt debug
    
  5. 以下のコマンドを使用してシードを実行し、テーブルを作成してデータを挿入する。

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

      モデル内ではselect文のみがサポートされています。

    セミコロン(;)はモデルでは制限されています。

  7. 以下のコマンドを使用してモデルを実行し、テーブルまたはビューを作成します。

    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
    

    dbtを実行するには、コネクタがCreate Table as Select(CTAS)をサポートしている必要があります。

  8. 実行されたアクションに関する文書を作成するには、以下を実行する:

    cd <project_name>
    dbt docs generate
    dbt docs serve
    

    デフォルトでは、localhost:8080で実行されます。 ポートを変更するには

    dbt docs serve –-port <port_number>