사용 중단됨 — Informatica Cloud용 Snowflake Connector 1.x¶
이 항목에는 Snowflake Connector 버전 1.x를 설정하고 사용하는 방법에 대한 정보가 포함되어 있습니다. Informatica Cloud 조직 관리자와 비즈니스 사용자가 Snowflake Connector를 사용하여 Snowflake에 데이터를 게시하는 방법을 설명합니다.
커넥터는 Informatica Cloud Connector SDK를 구현합니다. Informatica Cloud와 Informatica PowerCenter 9.6.1에 모두 배포할 수 있습니다. PowerCenter에 커넥터를 배포하는 데 도움이 필요한 경우 `Snowflake 지원`_에 문의하세요.
참고
Snowflake는 Informatica 제품과의 데이터 통합에 사용할 수 있는 ODBC 라이브러리도 제공합니다. 현재 이 라이브러리는 읽기 기능만 지원합니다.
이 항목의 내용:
Snowflake Connector 소개¶
Snowflake Connector 개요¶
Snowflake는 산업 표준 ODBC 및 JDBC 라이브러리 형태로 데이터 쿼리 및 수정을 위한 프로그래밍 방식의 APIs를 제공합니다. ODBC 라이브러리는 표준 ODBC 커넥터를 사용하여 Informatica 제품과 함께 사용할 수 있습니다. ODBC 커넥터 구성에 대한 자세한 내용은 Informatica 설명서를 참조하세요. ODBC 라이브러리는 Snowflake 계정에서 다운로드할 수 있습니다. 그러나 ODBC를 사용하여 Snowflake에 대량의 데이터를 작성하거나 업데이트하는 것은 이러한 작업을 수행하는 가장 효율적이거나 효과적인 방법이 아닌 경우가 많습니다.
Snowflake Connector는 Snowflake에서 많은 수의 행을 대량으로 삽입, 수정 및 삭제하는 처리량을 개선하도록 설계되었습니다. Informatica를 통해 수신한 행 단위의 데이터를 캐싱하고, 문자로 구분된 압축 파일 형식으로 클라우드 저장소에 비동기적으로 업로드하며, Snowflake COPY 명령을 사용하여 파일에서 데이터를 가져오는 방식으로 작동합니다.
Snowflake Connector 구현¶
처리를 위해 제출된 데이터는 구성된 연결 사용자(~
문자로 식별됨)의 내부 스테이지에 스테이징됩니다.
각 작업의 스테이지에 하위 디렉터리가 생성됩니다. 각 배치에 대한 사용자 스테이지 내의 해당 하위 디렉터리와 함께 여러 배치를 처리할 수 있습니다. 각 하위 디렉터리에는 다음 정보가 포함됩니다.
대상 테이블의 이름입니다.
작업의 이름(INSERT, DELETE, UPSERT, MODIFY).
타임스탬프 및 고유 식별자(연속 숫자).
|sf-legacy-interface|의 :ui:`History` |sf-history-tab| 페이지에서, 프로세스를 실행하도록 구성된 사용자에 대해 다음 명령이 표시됩니다.
작업 전에 실행되도록 구성된 SQL 문.
데이터 파일을 스테이지에 업로드하기 위한 PUT 명령의 시퀀스.
데이터를 스테이징하기 위한 임시 테이블 생성.
스테이징 테이블로 데이터를 가져오기 위한 COPY 명령(선택적으로 유효성 검사 모드에서 먼저 데이터 변환 오류를 식별 및 검색).
데이터를 처리하기 위한 DELETE, MERGE 또는 INSERT 명령.
스테이지에서 스테이징된 파일을 정리하기 위한 RM 명령.
커넥터에서 성능을 최적화하기 위해 이 시퀀스를 수정할 수 있습니다.
데이터 오류는 오류 파일 세션 로그에 기록되도록 Informatica에 보고되며, 그렇게 구성된 경우 작업이 종료될 수 있습니다. Snowflake 로딩 프로세스는 자체적으로 모든 데이터 변환 오류를 건너뜁니다.
Snowflake 연결¶
Snowflake 연결 개요¶
Snowflake Connector는 연결을 위해 Snowflake JDBC 드라이버를 사용합니다. 드라이버 라이브러리는 커넥터 배포에 포함되어 있습니다.
Snowflake 연결 속성¶
Snowflake Connector는 다음 속성을 사용하여 Snowflake에 연결합니다.
USER 및 PASSWORD¶
로딩 프로세스에 사용할 계정의 사용자 이름과 비밀번호입니다. Snowflake는 데이터가 로드될 테이블에 대해 적절한 쓰기 권한이 있는 전용 사용자를 사용할 것을 권장합니다.
Snowflake URL¶
계정의 Snowflake 데이터베이스 및 스키마에 연결하기 위한 JDBC URL입니다. 예:
jdbc:snowflake://xy12345.snowflakecomputing.com/?db=load&schema=etl
여기서:
:code:`xy12345`는 계정의 이름입니다(Snowflake에서 제공).
계정이 US 서부 이외의 리전에 있는 경우, JDBC 연결 문자열에는 계정 이름 뒤에
<account_id>.<region_id>.snowflakecomputing.com
형식으로 :ref:`리전 ID<label-region_ids>`도 포함되어야 합니다.:code:`load`는 데이터 로딩에 사용할 기본 데이터베이스의 이름입니다.
etl`은 로드할 테이블이 포함된 스키마(:code:`load
데이터베이스 내)의 이름입니다.
참고
설계를 하는 동안 메타데이터 탐색은 사용자의 연결 또는 검색 경로에 지정된 Snowflake 스키마 및 데이터베이스로 제한됩니다.
팁
대규모 데이터 세트와 매우 복잡한 변환이 포함된 작업을 실행하는 경우 완료하는 데 시간이 오래 걸릴 수 있습니다. 작업에 4시간 이상 걸리면 Snowflake 연결 토큰이 만료될 수 있습니다. 이러한 상황을 방지하려면 JDBC 연결 문자열에 client_session_keep_alive
매개 변수를 지정하여 연결 토큰이 만료되지 않도록 할 수 있습니다. 예:
jdbc:snowflake://xy12345.snowflakecomputing.com/?...&client_session_keep_alive=true
작업에 대한 트랜잭션 시작¶
이 속성이 설정된 경우 커넥터는 모든 작업이 시작되기 전에 트랜잭션을 시작하고 작업이 완료되거나 실패하면 커밋 또는 롤백합니다.
참고
Informatica는 커넥터 API에서 작업 롤백 또는 연결 해제를 지원하지 않습니다. 작업을 종료하면 테이블 잠금이 남아 있고 커밋되지 않은 트랜잭션이 발생할 수 있으며, 이 경우 Snowflake 명령줄에서 수동으로 해제해야 합니다.
데이터 오류 발생 시 중단¶
이 속성을 선택하면 데이터를 가져오는 동안 데이터 변환 오류가 발생할 경우 모든 작업의 처리가 중지됩니다. 오류 발생 시 부분 변경 사항을 롤백하려면 **작업에 대한 트랜잭션 시작**도 설정합니다.
참고
데이터는 비동기적으로 로드되므로 이 속성을 사용하고 둘 이상의 데이터 배치가 생성된 경우 일부 데이터가 이미 커밋되었을 수 있습니다.
데이터 스트림 전파¶
커넥터는 데이터 처리 체인을 허용하는 미드스트림 쓰기 인터페이스를 구현합니다. 이 속성을 선택하면 커넥터가 추가 처리를 위해 데이터를 전달합니다.
성능 향상을 위해 이 속성은 선택하지 마세요.
Snowflake 데이터 동기화 작업¶
커넥터는 데이터 동기화 작업 수행 시 사용할 Snowflake 관련 작업과 속성을 지정하기 위한 고급 대상 속성을 제공합니다.
Snowflake 고급 대상 속성¶
다음 테이블에서는 데이터 동기화 작업에 대해 지정할 수 있는 고급 대상 속성을 설명합니다.
고급 대상 속성 |
설명 |
---|---|
업데이트 키 열 |
DELETE또는 MODIFY 작업의 복합 키로 사용해야 하는 대상 테이블의 열 이름을 세미콜론으로 구분한 목록입니다. |
작업 전 실행 |
작업 시작 전에 실행될 SQL 문입니다. |
테이블 자르기 |
작업을 실행하기 전에 대상 테이블에서 모든 데이터를 삭제합니다. 이 문은 작업 전 실행 문을 실행한 후에 완료됩니다. |
작업 후 실행 |
작업 완료 후 실행될 SQL 문입니다. |
하나의 배치로 데이터 처리 |
이 속성을 선택하면 커넥터가 작업을 처리하기 전에 작업의 모든 데이터를 업로드합니다. |
오류 발생 시 스테이징 파일 보존 |
데이터 로드 중 오류 발생 시 스테이징된 데이터 파일을 보존합니다. 이 속성은 데이터 오류 발생 시 중단이 활성화된 경우에만 유효합니다. |
현지 타임존 사용 |
에이전트 현지 타임존을 사용하여 TIMESTAMP 데이터 또는 날짜/시간 데이터를 변환합니다. 기본적으로 UTC가 변환에 사용됩니다. |
성공 파일 디렉터리 |
현재 사용되지 않습니다. |
오류 파일 디렉터리 |
현재 사용되지 않습니다. |
데이터베이스 재정의 |
업데이트할 데이터베이스의 이름으로, 데이터 동기화 작업에 대해 정의된 대상 데이터베이스를 재정의합니다. 데이터 동기화 작업에서 데이터베이스 재정의, 스키마 재정의 또는 테이블 재정의에 대한 값을 지정하지 마세요. PowerCenter세션에서 값을 지정할 수 있습니다. |
스키마 재정의 |
업데이트할 스키마의 이름으로, 데이터 동기화 작업에 대해 정의된 대상 스키마를 재정의합니다. 데이터 동기화 작업에서 데이터베이스 재정의, 스키마 재정의 또는 테이블 재정의에 대한 값을 지정하지 마세요. PowerCenter세션에서 값을 지정할 수 있습니다. |
테이블 재정의 |
업데이트할 테이블의 이름으로, 데이터 동기화 작업에 대해 정의된 대상 테이블을 재정의합니다. 데이터 동기화 작업에서 데이터베이스 재정의, 스키마 재정의 또는 테이블 재정의에 대한 값을 지정하지 마세요. PowerCenter세션에서 값을 지정할 수 있습니다. |
사용법 노트:
Snowflake는 기본 또는 외래 키 제약 조건을 적용하지 않으며 키에 대한 메타데이터를 보존하지 않습니다. Informatica 환경에서 해당 열이 키로 표시된 경우에도 업데이트 키 열 속성을 지정해야 합니다.
하나의 배치로 데이터 처리 속성은 작업 완료를 지연시킬 수 있지만, 실패 시 전체 트랜잭션 없이 어떤 데이터도 보존되지 않음을 보장합니다. 한 번에 최대 데이터 양을 처리하면 Snowflake 웨어하우스 병렬 처리의 활용도도 극대화됩니다.
데이터베이스 재정의, 스키마 재정의 및 테이블 재정의 특성은 PowerCenter에서 데이터 동기화 작업에 대한 대상 데이터베이스, 스키마 및/또는 테이블을 재정의하는 값을 런타임에 제공하는 데 사용됩니다. 이를 통해 동일한 데이터 동기화 작업을 사용하여 여러 데이터베이스 및 스키마의 테이블을 업데이트할 수 있습니다. 필드는 기본적으로 비어 있으며, 특성 값이 런타임에 제공되므로 비워 두어야 합니다.