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 문서를 참고하세요.
- watsonx.data Software Documentation: IBM watsonx.data Software Guide
- watsonx.data SaaS Documentation: IBM watsonx.data SaaS Guide
세션 속성 (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)
- watsonx.data 설정 — 어댑터 연결.
- Hooks — pre_hook 세션 속성 설정.
- Materializations — table/materialization 개요.