dbt-watsonx-spark 설치 및 사용
이 섹션에서는 dbt-watsonx-spark 을 설치하고 사용하는 단계를 설명합니다.
시작하기 전에
- watsonx.data에서 IBM Cloud에 구독합니다.
- watsonx.data에서 네이티브 Spark 엔진을 프로비저닝합니다.
- DBT 코어 를 설치합니다.
프로시저
Spark 쿼리 서버 만들기
Spark 엔진이 dbt 도구와 통합되어 쿼리 엔진으로 작동하려면 Spark 쿼리 서버를 만들어야 합니다. Spark 쿼리 서버 만들기를 참조하세요.
쿼리 서버 연결 세부 정보 검색
dbt 도구에서 프로필 파일을 구성하려면 쿼리 서버 연결 세부 정보를 저장해야 합니다. 쿼리 서버 연결 세부 정보 검색하기를 참조하세요.
dbt 도구에 profiles.yaml을 설정합니다
- 홈 디렉터리의 .dbt에 있는
profiles.yml파일로 이동합니다. - 매개변수 값을 수정하여 연결 세부 정보를 붙여넣습니다.
profiles.yml파일을 설정합니다. 자세한 내용은 구성(프로필 설정)을 참조하세요.
dbt 도구를 설치하고 연결을 확인합니다
-
시스템에서 다음 명령을 실행하여
dbt-watsonx-spark을 설치합니다.pip install dbt-watsonx-spark -
다음 명령을 실행하여 dbt 버전을 확인합니다.
dbt --version -
Dbt 프로젝트를 생성하려면 <프로젝트_이름>을 입력하고 다음 명령을 실행합니다.
dbt init <project_name>- 시스템에서 사용할 데이터베이스를 선택하라는 메시지가 표시됩니다.
watsonx_spark을(를) 선택하십시오. - watsonx.data 호스트, URI 및 스키마를 입력합니다.
- 시스템에서 사용할 데이터베이스를 선택하라는 메시지가 표시됩니다.
-
연결을 테스트하려면 실행합니다:
cd <project_name> dbt debug -
다음 명령을 사용하여 시드를 실행하여 테이블을 만들고 데이터를 삽입합니다.
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>