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. seeds 폴더 내에 CSV 파일을 만들어 watsonx.data에 데이터를 시드합니다. 예를 들어, 다음과 같습니다.

    id, value
    1,100
    2,200
    3,300
    4,400
    

    dbt가 커넥터의 데이터에 기반한 모든 데이터 유형을 처리할 수 없기 때문에 시드 파일을 실행할 때 오류가 발생할 수 있습니다. 이 문제를 해결하려면 dbt가 사용해야 하는 데이터 유형을 명시적으로 정의하면 됩니다. 프로젝트_이름>/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는 여전히 구성을 사용합니다. 비활성화하려면 완전히 제거하거나 진자 스타일({# … #})로 댓글을 달면 됩니다.

    • 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
    

    커넥터는 dbt 실행이 작동하려면 테이블을 선택 항목으로 만들기(CTAS)를 지원해야 합니다.

  10. 수행한 작업에 대한 문서를 생성하려면 실행합니다:

    cd <project_name>
    dbt docs generate
    dbt docs serve
    

    기본적으로 localhost:8080에서 실행됩니다. 포트를 변경하려면 실행합니다:

    dbt docs serve –-port <port_number>