전송처 - Amazon Redshift
    • PDF

    전송처 - Amazon Redshift

    • PDF

    기사 요약

    개요

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

    Amazon Redshift와 TROCCO의 활용 사례

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

    설정 항목

    STEP1 기본 설정

    품목명필수기본값내용
    Amazon Redshift 연결 정보----------------------------------------------------------------------------------------------.미리 등록되어 있는 Amazon Redshift의 연결 정보에서 이번 전송 설정에 필요한 권한이 있는 것을 선택합니다.
    데이터베이스----------------------------------------------------------------------------------------------.전송할 데이터베이스 이름을 선택합니다.
    스키마----------------------------------------------------------------------------------------------.전송할 스키마 이름을 선택합니다.
    테이블----------------------------------------------------------------------------------------------.전송할 테이블 이름을 입력합니다.
    대상 테이블이 전송 대상 데이터베이스 스키마에 존재하지 않는 경우 자동으로 테이블이 생성됩니다.
    Amazon S3 버킷----------------------------------------------------------------------------------------------.데이터 전송 시 데이터를 일시적으로 저장하기 위한 S3 버킷 이름을 지정합니다.
    버킷 목록 불러 오기를 눌러 목록을 불러올 수도 있습니다.
    Amazon S3 키 접두사----------------------------------------------------------------------------------------------.데이터 전송 시 데이터를 일시적으로 저장하기 위한 S3 경로명을 지정합니다.
    전송 모드추기 (INSERT)전송 모드를 선택합니다.
    각 모드에 대한 자세한 내용은 후술하는 전송 모드에 대해 참고하세요.

    STEP1 세부 설정

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

    품목명필수기본값내용
    배치 크기 (KB)16,384배치 크기를 입력합니다.
    전송 실행 시 OutOfMemoryError가 발생하는 경우, 배치 크기를 적절히 줄여야 합니다.

    STEP2 출력 옵션

    품목명기본값자세히 보기
    테이블 제약----------------------------------------------------------------------------------------------.CREATE TABLE 문에 테이블 제약 조건을 추가할 수 있습니다.
    CREATE TABLE \<table_name\> (\<column1\> <type1\>, \<column2\> \<type2\>, ..., \<type2\>, ... , \<테이블 제약조건\>) \<테이블 옵션\>) \<테이블 옵션\>
    테이블 옵션----------------------------------------------------------------------------------------------.CREATE TABLE 문에 테이블 옵션을 추가할 수 있습니다.
    CREATE TABLE \<table_name\> (\<column1\> \<type1\>, \<column2\> \<type2\>, ... , \<테이블 제약조건\>) \<테이블 옵션\>) \<테이블 옵션\>
    Amazon S3에 일시적으로 저장된 파일 삭제하는----------------------------------------------------------------------------------------------.
    IAM 역할명----------------------------------------------------------------------------------------------.AWS 액세스 키, AWS 시크릿 액세스 키 대신 IAM 롤을 사용할 수 있습니다.
    최대 재시도 횟수12----------------------------------------------------------------------------------------------.
    재시도 대기 시간(밀리초)1,000----------------------------------------------------------------------------------------------.
    재시도 대기 시간 최대값(밀리초)1,800,000----------------------------------------------------------------------------------------------.
    병합 키 설정----------------------------------------------------------------------------------------------.전송 모드에서 UPSERT (MERGE) 를 선택했을 때 설정할 수 있습니다.
    병합 키(주키)로 처리할 값의 중복이 없고 NULL 값이 없는 컬럼의 이름을 입력하세요.
    기본 시간대UTCtimestamp 형식의 컬럼이 있는 경우 타임존을 지정할 수 있습니다.
    컬럼 설정----------------------------------------------------------------------------------------------.----------------------------------------------------------------------------------------------.
    로드 전에 실행하는 SQL----------------------------------------------------------------------------------------------.----------------------------------------------------------------------------------------------.
    로드 후 실행하는 SQL----------------------------------------------------------------------------------------------.----------------------------------------------------------------------------------------------.
    스키마 관련 설정이 적용되는 조건

    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되지 않습니다.

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