Installazione e utilizzo di dbt-watsonx-spark

Questa sezione illustra i passaggi per installare e utilizzare dbt-watsonx-spark.

Prima di iniziare

  • Abbonamento a watsonx.data su IBM Cloud.
  • Provvedere al motore Spark nativo in watsonx.data.
  • Installare il nucleo diDBT.

Procedura

Creare un server di query Spark

Affinché il motore Spark si integri con lo strumento dbt e funzioni come motore di query, è necessario creare un server di query Spark. Vedere Creare un server di query Spark.

Recuperare i dettagli della connessione al server di query

Per configurare il file di profilo nello strumento dbt, è necessario salvare i dettagli di connessione al server di query. Vedere Recuperare i dettagli della connessione al server di query.

Impostare profiles.yaml per lo strumento dbt

  1. Andate al file profiles.yml che si trova in .dbt della vostra home directory.
  2. Incollare i dettagli della connessione modificando i valori dei parametri.
  3. Impostare il file profiles.yml. Per ulteriori informazioni, vedere Configurazione (impostazione del profilo).

Installare lo strumento dbt e verificare la connessione

  1. Eseguite il seguente comando sul vostro sistema per installare dbt-watsonx-spark.

    pip install dbt-watsonx-spark
    
  2. Eseguire il seguente comando per verificare la versione di dbt.

    dbt --version
    
  3. Se si desidera creare un progetto dbt, fornire un <nome_progetto> ed eseguire il seguente comando .

    dbt init <project_name>
    
    1. Il sistema chiede di selezionare il database da utilizzare. Selezionare watsonx_spark.
    2. Fornire watsonx.data host, URI e schema.
  4. Per verificare la connessione, eseguire:

    cd <project_name>
    dbt debug
    
  5. Eseguire i semi utilizzando il seguente comando per creare una tabella e inserire i dati.

    cd <project_name>
    dbt run
    
  6. In <project_name>/models, ci sono i modelli che eseguono le operazioni. Per impostazione predefinita, dbt imposta le operazioni come view. È possibile creare le tabelle o le viste con uno dei seguenti metodi:

    • Specificare all'interno dei modelli (applicabile solo per quel modello)

      {{ config(materialized='table/view') }}
      

      Se questa dichiarazione viene commentata con (--), dbt continua a usare la configurazione. Per disabilitarlo, rimuoverlo completamente o commentarlo in stile Jinja ({# … #}).

    • Specificare in dbt_project.yml (applicabile a tutti i modelli)

      models:
        <project_name>:
          <model_folders>:
            +materialized: table/view
      

      Ad esempio:

      models:
        demo:
          example:
            +materialized: table
      

      All'interno dei modelli sono supportate solo le dichiarazioni select.

    Il carattere punto e virgola (;) è limitato nei modelli.

  7. Eseguire i modelli utilizzando il seguente comando per creare le tabelle o le viste.

    cd <project_name>
    dbt run
    

    È inoltre possibile specificare i test desiderati:

    models:
      - name: <model_name>
        description: "some description"
        columns:
          - name: <col_name>
            description: "some description"
            data_tests:
              - <test_name_1>
              - <test_name_2>
    

    Ad esempio:

    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
    

    I connettori devono supportare Create Table as Select (CTAS) affinché le esecuzioni dbt funzionino.

  8. Per generare i documenti relativi alle azioni eseguite, eseguire:

    cd <project_name>
    dbt docs generate
    dbt docs serve
    

    Per impostazione predefinita, viene eseguito su localhost:8080. Per modificare la porta, eseguire:

    dbt docs serve –-port <port_number>