전송처 - Snowflake
    • PDF

    전송처 - Snowflake

    • PDF

    기사 요약

    개요

    Snowflake로 데이터를 전송하는 설정 도움말 페이지입니다.

    Snowflake와 TROCCO의 활용 사례에 대한 정보

    TROCCO의 제품 사이트에서는 고객의 도입 사례를 소개하고 있습니다.
    본 도움말 페이지와 함께 참고하시기 바랍니다.

    설정 항목

    STEP1 기본 설정

    품목명필수기본값내용
    Snowflake 연결 정보----------------------------------------------------------------------------------------------.미리 등록되어 있는 Snowflake의 연결 정보 중 이번 전송 설정에 필요한 권한을 가진 것을 선택합니다.
    웨어하우스----------------------------------------------------------------------------------------------.전송 시 쿼리 실행 환경으로 사용할 웨어하우스를 선택합니다.
    데이터베이스----------------------------------------------------------------------------------------------.전송할 데이터베이스 이름을 선택합니다.
    스키마----------------------------------------------------------------------------------------------.전송할 스키마 이름을 선택합니다.
    테이블----------------------------------------------------------------------------------------------.전송할 테이블 이름을 입력합니다.
    대상 테이블이 전송 대상 데이터베이스 스키마에 존재하지 않는 경우 자동으로 테이블이 생성됩니다.
    전송 모드추기 (INSERT)전송 모드를 선택합니다.
    자세한 내용은 후술하는 전송 모드에 대해 참고하세요.
    병합 키No----------------------------------------------------------------------------------------------.전송 모드에서 UPSERT (MERGE) 를 선택했을 때 설정할 수 있습니다.
    병합 키(주키)로 처리할 값의 중복이 없고 NULL 값이 없는 컬럼의 이름을 입력하세요.

    STEP1 세부 설정

    상세 설정을 클릭하면 설정 항목이 표시됩니다.

    품목명기본값내용
    빈 문자를 NULL로 바꾸기ON빈 문자를 NULL로 바꿀지 여부를 선택할 수 있습니다.
    빈 문자로 전송하고 싶다면 설정을 OFF로 설정하세요.
    오류 발생 시 임시 스테이지 삭제하기OFF전송 작업이 오류가 발생했을 때 임시 단계를 삭제할지 선택할 수 있습니다.
    이 설정이 켜져 있는 경우에도 전송 작업이 취소된 경우 임시 스테이지는 삭제되지 않습니다.
    배치 크기 (MB)50배치 크기를 입력합니다.
    전송 실행 시 OutOfMemoryError가 발생하는 경우, 배치 크기를 적절히 줄여야 합니다.

    STEP2 출력 옵션

    품목명기본값자세히 보기
    컬럼 설정----------------------------------------------------------------------------------------------.임시 테이블을 만들 때 컬럼을 지정합니다. 타입의 기본값은 다음과 같습니다.
  • 부울: boolean: BOOLEAN
  • 문자열: string:VARCHAR(65535)
  • long: BIGINT
  • double: DOUBLE PRECISION
  • 타임 스탬프: 타임 스탬프 TIMESTAMP_NTZ(9)
  • json: VARIANT

  • 상기 이외의 사용을 원할 경우 설정이 필요합니다.
    지정할 수 있는 타입에 대한 자세한 내용은 공식 문서를 참고하세요.
    최대 재시도 횟수12재시도를 최대 몇 번까지 실행할지 지정합니다.
    재시도 대기 시간1,000재시도 시 대기 시간을 지정합니다.
    재시도 대기 시간 최대값1,800,000재시도 시 대기시간의 최대값을 지정합니다.
    기본 시간대UTCtimestamp형 컬럼에 지정할 시간대를 입력합니다.
    스키마 관련 설정이 적용되는 조건

    STEP2 출력 옵션의 컬럼 설정 내용은 테이블을 새로 생성하는 경우에만 적용됩니다.
    구체적으로 다음과 같은 조건에서 작업을 실행할 때 적용됩니다.

    • 전송 대상 테이블이 존재하지 않는 경우
    • 전송 모드에서 전건 교체 (REPLACE) 를 선택한 경우
      • 이 경우 전송할 때마다 전송 대상 테이블의 스키마가 업데이트되기 때문에 컬럼 설정 내용은 매번 적용된다.

    보충 사항

    전송 모드에 대하여

    아래 설명은 모두 전송 대상 테이블이 이미 존재하는 경우의 동작입니다.
    전송 대상 테이블이 존재하지 않는 경우, 두 모드 모두 테이블을 새로 생성합니다.

    전송 모드스키마 변경트랜잭션행동보충자료
    추기 (INSERT)No표에 대한 추가 사항을 아래와 같이 추가합니다.
    1. 임시 테이블을 생성하고 데이터 투입하기
    2. 임시 테이블의 데이터를 대상 테이블에 INSERT하기
    추기 (INSERT DIRECT)NoNo표를 아래와 같이 추가합니다.
    1. 데이터를 대상 테이블에 직접 INSERT하기
  • 추기 (INSERT) 모드에 비해 처리 시간은 짧지만, 트랜잭션은 담보되지 않는다.
  • 따라서 전송이 중간에 실패할 경우, 중간에 추가된 행이 대상 테이블에 남아있을 수 있습니다.
  • 전건 교체 (TRUNCATE INSERT)No테이블 세척은 다음과 같이 진행합니다.
    1. 임시 테이블을 생성하고 데이터 투입하기
    2. 대상 테이블의 실제 데이터를 DELETE하고 임시 테이블의 데이터를 대상 테이블에 INSERT한다.
    전건 교체 (REPLACE)테이블 세척은 다음과 같이 진행합니다.
    1. 임시 테이블을 생성하고 데이터 투입하기
    2. 대상 테이블 자체를 DROP하고 임시 테이블 이름을 대상 테이블 이름으로 변경하기
  • 기존 테이블의 스키마는 삭제되고 새로운 테이블의 스키마로 업데이트됩니다.
  • UPSERT (MERGE)No테이블에 UPSERT를 다음과 같이 수행합니다.
    1. 임시 테이블을 생성하고 데이터 투입하기
    2. 임시 테이블의 데이터를 대상 테이블에 MERGE하기
  • 전송 데이터의 각 행에 대해 병합 키의 값이 대상 테이블의 해당 열에 존재하면 해당 행이 업데이트됩니다. 존재하지 않는 경우 해당 행이 추가됩니다.
  • 병합 키의 값이 중복되거나 NULL 값이 포함되어 있는 경우 제대로 UPSERT되지 않습니다.

  • 이 문서가 도움이 되었습니까?