IBM watsonx.data Presto configurations

IBM watsonx.data Presto configurations

dbt-watsonx-presto 어댑터에서 IBM watsonx.data Presto(Java)를 구성하는 방법을 다루는 페이지예요. 세션 속성, 커넥터 속성, 파일 형식, materialization 등을 설정할 수 있어요.

출처: 문서

본문

인스턴스 요구 사항

dbt-watsonx-presto 어댑터로 IBM watsonx.data Presto(java)를 쓰려면, 인스턴스에 테이블·뷰 같은 객체를 만들고·이름 바꾸고·변경하고·삭제할 수 있는 카탈로그가 연결되어 있어야 해요. dbt-watsonx-presto 어댑터로 인스턴스에 연결하는 사용자는 대상 카탈로그에 필요한 권한이 있어야 해요.

자세한 설정 방법(watsonx.data 설정, Presto(Java) 엔진 추가, 스토리지 구성, 데이터 소스 등록, 권한 관리)은 공식 IBM 문서를 참고하세요.

세션 속성 (Session properties)

IBM watsonx.data SaaS/Software 인스턴스에서는 세션 속성을 설정해 사용자 세션의 현재 구성을 수정할 수 있어요.

특정 dbt 모델이나 모델 그룹의 세션 속성을 일시적으로 조정하려면 dbt 훅을 사용하세요. 예:

{{
  config(
    pre_hook="set session query_max_run_time='10m'"
  )
}}

커넥터 속성 (Connector properties)

IBM watsonx.data SaaS/Software는 데이터가 어떻게 표현되는지 관리하는 다양한 커넥터 속성을 지원해요. 이 속성들은 Hive 같은 파일 기반 커넥터에 특히 유용해요.

각 데이터 소스가 지원하는 내용은 다음 자료를 참고하세요.

파일 형식 구성 (File format configuration)

Hive, Iceberg 같은 파일 기반 커넥터는 dbt 모델에서 테이블 materialization, 데이터 형식, 파티셔닝 전략을 커스터마이즈할 수 있게 해줘요. 다음 예시들은 각 커넥터에 대해 이 옵션들을 구성하는 방법을 보여줘요.

Hive 구성

Hive는 properties 파라미터로 파일 형식과 파티셔닝 전략을 지정하는 것을 지원해요. 다음 예시는 Parquet 형식으로 저장되는 파티셔닝된 테이블을 만드는 방법을 보여줘요.

{{
  config(
    materialized='table',
    properties={
      "format": "'PARQUET'", -- Specifies the file format
      "partitioned_by": "ARRAY['id']", -- Defines the partitioning column(s)
    }
  )
}}

Hive 테이블 생성과 지원되는 속성에 대한 자세한 내용은 Hive 커넥터 문서를 참고하세요.

Iceberg 구성

Iceberg는 파일 형식 정의와 쿼리 성능을 최적화하는 고급 파티셔닝 전략을 지원해요. 다음 예시는 버케팅(bucketing) 전략으로 파티셔닝된 ORC 테이블을 만드는 방법을 보여줘요.

{{
  config(
    materialized='table',
    properties={
      "format": "'ORC'", -- Specifies the file format
      "partitioning": "ARRAY['bucket(id, 2)']", -- Defines the partitioning strategy
    }
  )
}}

Iceberg 테이블 생성과 지원되는 구성에 대한 자세한 내용은 Iceberg 커넥터 문서를 참고하세요.

시드 (Seeds)

dbt-watsonx-presto 어댑터는 시드 파일에서 모든 watsonx.data Presto 데이터 타입을 종합적으로 지원해요. 이 기능을 사용하려면 각 컬럼의 데이터 타입을 명시적으로 정의해야 해요.

컬럼 데이터 타입은 dbt가 지원하는 대로 dbt_project.yml 파일이나 property 파일에서 구성할 수 있어요. 시드 구성과 모범 사례는 dbt seed configuration 문서를 참고하세요.

Materializations

dbt-watsonx-presto 어댑터는 table과 view materialization을 모두 지원해요. watsonx.data Presto(java)에서 데이터가 저장되고 조회되는 방식을 관리할 수 있게 해주죠.

materialization 구성에 대한 자세한 내용은 dbt materializations 문서를 참고하세요.

Table

dbt-watsonx-presto 어댑터는 table materialization으로 테이블을 만들고 갱신할 수 있게 해줘요. watsonx.data Presto에서 데이터를 다루기 더 쉬워져요.

권장 사항

  • 권한 확인: 카탈로그나 스키마에서 테이블 생성에 필요한 권한이 활성화되어 있는지 확인하세요.
  • 커넥터 문서 확인: watsonx.data Presto sql statement support를 검토해 테이블 생성·수정을 지원하는지 확인하세요.

일부 커넥터의 제한

특정 watsonx.data Presto 커넥터, 특히 읽기 전용이거나 권한이 제한된 커넥터는 테이블 생성·수정을 허용하지 않아요. 이런 커넥터에서 table materialization을 쓰려 하면 다음과 같은 오류가 날 수 있어요.

PrestoUserError(type=USER_ERROR, name=NOT_SUPPORTED, message="This connector does not support creating tables with data", query_id=20241206_071536_00026_am48r)

View

dbt-watsonx-presto 어댑터는 기본적으로 뷰를 자동 생성해요. 뷰가 dbt의 표준 materialization이기 때문이에요. materialization을 명시적으로 지정하지 않으면 dbt는 watsonx.data Presto에 뷰를 만들어요.

커넥터가 뷰 생성을 지원하는지 확인하려면 watsonx.data sql statement support를 참고하세요.

지원되지 않는 기능

dbt-watsonx-presto 어댑터는 다음 기능을 지원하지 않아요.

  • Incremental Materialization
  • Materialized Views
  • Snapshots

더 알아보기 (Learn more)