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 -
seeds 폴더 내에 CSV 파일을 만들어 watsonx.data에 데이터를 시드합니다. 예를 들어, 다음과 같습니다.
id, value 1,100 2,200 3,300 4,400dbt가 커넥터의 데이터에 기반한 모든 데이터 유형을 처리할 수 없기 때문에 시드 파일을 실행할 때 오류가 발생할 수 있습니다. 이 문제를 해결하려면 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 파일에 여분의 공백을 사용하지 마세요. 추가 공백을 포함하는 경우 모델에서 쿼리할 때 동일한 수의 공백을 사용해야 오류를 방지할 수 있습니다.
-
다음 명령을 사용하여 시드를 실행하여 테이블을 만들고 데이터를 삽입합니다.
cd <project_name> dbt run -
<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모델 내에서는 일부 문만 지원됩니다.
모델에서는 세미콜론(;) 문자가 제한됩니다.
-
-
다음 명령을 사용하여 모델을 실행하여 테이블 또는 뷰를 만듭니다.
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)를 지원해야 합니다.
-
수행한 작업에 대한 문서를 생성하려면 실행합니다:
cd <project_name> dbt docs generate dbt docs serve기본적으로 localhost:8080에서 실행됩니다. 포트를 변경하려면 실행합니다:
dbt docs serve –-port <port_number>