IBM watsonx.data Spark configurations

IBM watsonx.data Spark configurations

dbt-watsonx-spark 어댑터에서 IBM watsonx.data Spark를 구성하는 방법을 다루는 페이지예요. 세션·커넥터 속성, 파일 형식, materialization 등을 설정할 수 있고, incremental materialization도 추가 구성으로 지원해요.

출처: 문서

본문

인스턴스 요구 사항

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

자세한 설정 방법(watsonx.data 설정, Spark 엔진 추가, 스토리지 구성, 데이터 소스 등록, 권한 관리)은 공식 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는 데이터 표현, 실행 성능, 저장 형식을 제어하는 다양한 Spark 전용 커넥터 속성을 지원해요.

각 데이터 소스가 지원하는 구성에 대한 자세한 내용은 다음을 참고하세요.

추가 구성

dbt-watsonx-spark 어댑터는 카탈로그 프로필에 추가 구성을 설정할 수 있게 해줘요.

  • Catalog: Spark 연결에 사용할 카탈로그를 지정해요. 플러그인은 카탈로그 타입을 기준으로 파일 형식 타입 (Iceberg, Hive, or Delta)을 자동 감지할 수 있어요.
  • use_ssl: 보안 연결을 위해 SSL 암호화를 활성화해요.

구성 예시:

project_name:
  target: "dev"
  outputs:
    dev:
      type: watsonx_spark
      method: http
      schema: [schema name]
      host: [hostname]
      uri: [uri]
      catalog: [catalog name]
      use_ssl: false
      auth:
        instance: [Watsonx.data Instance ID]
        user: [username]
        apikey: ***

파일 형식 구성

지원되는 파일 형식은 카탈로그 타입에 따라 달라요.

  • Iceberg Catalog: Iceberg 테이블 지원.
  • Hive Catalog: Hive 테이블 지원.
  • Delta Lake Catalog: Delta 테이블 지원.
  • Hudi Catalog: Hudi 테이블 지원.

플러그인은 구성에 지정된 카탈로그를 기준으로 파일 형식 타입을 자동 감지해요.

dbt 모델에서 파일 형식을 지정해서:

{{
  config(
    materialized='table',
    file_format='iceberg' or 'hive' or 'delta' or 'hudi'
  )
}}

자세한 내용은 문서를 참고하세요.

시드와 prepared statements

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

Materializations

dbt-watsonx-spark 어댑터는 table materialization을 지원해요. watsonx.data Spark에서 데이터가 저장되고 조회되는 방식을 관리할 수 있게 해주죠.

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

Table

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

View

materialization을 명시적으로 지정하지 않으면 어댑터는 기본적으로 뷰를 자동 생성해요.

Incremental

Incremental materialization은 지원되지만 파티셔닝과 성능 튜닝을 위한 추가 구성이 필요해요.

권장 사항

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

지원되지 않는 기능

dbt-watsonx-spark 어댑터는 광범위한 기능에도 몇 가지 제한이 있어요.

  • Incremental Materialization: 지원되지만 파티셔닝과 성능 튜닝을 위한 추가 구성이 필요해요.
  • Materialized Views: Watsonx.data의 Spark SQL에서 기본적으로 지원되지 않아요.
  • Snapshots: Spark에 내장 스냅샷 기능이 없어 지원되지 않아요.
  • 성능 고려 사항:

대규모 데이터셋은 shuffle 파티션과 메모리 할당 같은 Spark 구성 튜닝이 필요할 수 있어요.

  • Spark의 인메모리 처리 모델 때문에 일부 변환은 비용이 들 수 있어요.

이런 기능과 제약을 이해하면, 확장 가능한 데이터 변환과 분석을 위해 dbt와 Watsonx.data Spark의 효과를 최대화할 수 있어요.

더 알아보기 (Learn more)