Amazon Redshift
Amazon Redshift 데이터 파이프라인이나 복제 작업에서 대상 데이터 플랫폼으로 사용됩니다. 데이터 파이프라인에서는 데이터 저장, 데이터 변환, 데이터 마트 만들기, 데이터 등록 등 다양한 ELT 작업을 대상 플랫폼에서 수행할 수 있습니다. 반면 복제 작업에는 기본 변환 기능을 사용하여 소스 시스템에서 대상 시스템으로 직접 데이터를 복제하는 작업이 포함되지만 ELT 작업은 지원되지 않습니다.를 사용할 수 있습니다.
Amazon Redshift 을 대상으로 설정하려면 다음이 필요합니다.
- 전제 조건 충족
- 클라우드 스테이징 영역(Amazon S3)에 대한 연결 구성. 기존 데이터를 등록하는 경우에는 필요하지 않습니다.
- Amazon Redshift에 대한 연결 구성
클라우드 스테이징 영역 설정
Amazon Redshift에 대한 연결을 구성하려면 데이터 및 변경 내용이 적용 및 저장되기 전에 준비되는 Amazon S3 클라우드 스테이징 영역에 대한 연결도 설정해야 합니다.
Amazon S3 연결 설정에 대한 자세한 내용은 Amazon S3을 참조하십시오.
에 대한 연결 구성Amazon Redshift
스테이징 설정을 제공한 후 다음을 수행합니다.
-
연결에서 연결 만들기를 클릭합니다.
-
Amazon Redshift 대상 커넥터를 선택한 후 다음 설정을 제공합니다.
데이터 대상
데이터 게이트웨이
데이터 이동 게이트웨이는 대상 데이터베이스가 Qlik Cloud에서 액세스할 수 없고 비공개 링크를 통해서만 액세스할 수 있는 경우에만 필요합니다(예를 들어, 방화벽 뒤의 온프레미스 또는 Virtual Private Cloud에 있는 경우). 이 경우 대상 데이터베이스에 액세스하려는 데이터 이동 게이트웨이를 선택합니다.
사용 사례에 따라 이는 데이터 소스에서 데이터를 배포하기 위해 동일하거나 다른 데이터 이동 게이트웨이가 배포되어 있습니다.
데이터 이동 게이트웨이 사용 사례에 대한 자세한 내용은 데이터 이동 게이트웨이는 언제 필요합니까? 및 일반적인 사용 사례를 참조하십시오.
Qlik Cloud에서 대상 데이터베이스에 직접 액세스할 수 있는 경우 없음을 선택합니다.
연결 속성
-
서버: Amazon Redshift 데이터베이스 서버의 호스트 이름입니다.
-
포트: Amazon Redshift 데이터베이스에 액세스하는 데 사용되는 포트입니다. 기본값은 5439입니다.
계정 속성
사용자 이름 및 비밀번호: Amazon Redshift 데이터베이스에 액세스하도록 권한 부여된 사용자의 사용자 이름 및 비밀번호입니다.
데이터베이스 속성
-
데이터베이스 이름: 데이터베이스를 지정하는 데 사용할 수 있는 두 가지 방법이 있습니다.
- 방법 1 - 목록에서 선택: 데이터베이스 로드를 클릭한 다음 데이터베이스를 선택합니다.
- 방법 2 - 수동: 데이터베이스 이름을 수동으로 입력을 선택한 다음 데이터베이스 이름을 입력합니다.
내부 속성
내부 속성은 특별한 사용 사례를 위한 것이므로 대화 상자에 표시되지 않습니다. Qlik 지원 팀에서 지시한 경우에만 사용해야 합니다.
필드 오른쪽에 있는 및 버튼을 사용하여 필요에 따라 속성을 추가하거나 제거합니다.
이름
연결의 표시 이름입니다.
전제 조건
필요한 권한
Redshift 데이터베이스에 대해 다음 권한을 부여합니다.
- Grant COPY
- Grant INSERT
- Grant UPDATE
- Grant DELETE
- Grant SELECT
- 스키마 만들기(스키마가 존재하지 않고 Qlik Talend Data Integration에서 스키마를 만들려는 경우에만 필요함)
- Grant CREATE TABLE
- Grant ALTER TABLE
- Grant DROP TABLE
드라이버 설정
드라이버는 데이터 이동 게이트웨이를 통해 데이터베이스에 액세스하는 경우에만 필요합니다. 이러한 경우에는 데이터 이동 게이트웨이 컴퓨터에 드라이버를 설치해야 합니다.
드라이버 설치 유틸리티(권장)를 사용하거나 수동으로 driver를 설치할 수 있습니다. 수동 설치는 드라이버 설치 유틸리티에 문제가 발생하는 드문 경우에만 시도해야 합니다.
드라이버 설치 유틸리티를 사용하여 드라이버 설치
이 섹션에서는 필수 driver를 설치하는 방법에 대해 설명합니다. 이 프로세스에는 필수 driver를 자동으로 다운로드, 설치 및 구성하는 스크립트 실행이 포함됩니다. 필요에 따라 스크립트를 실행하여 driver를 업데이트하고 제거할 수도 있습니다.
설치 준비
-
Python 3.6 이상이 데이터 이동 게이트웨이 서버에 설치되어 있는지 확인합니다.
Python은 대부분의 Linux 배포에 사전 설치되어 있습니다. 다음 명령을 실행하여 시스템에 설치된 Python 버전을 확인할 수 있습니다.
python3 --version
driver 설치
driver를 다운로드하고 설치하려면:
-
데이터 이동 게이트웨이 서비스 중지:
sudo systemctl stop repagent
-
선택적으로 서비스가 중지되었는지 확인합니다.
sudo systemctl status repagent
상태는 다음과 같아야 합니다.
Active: inactive (dead) since <timestamp> ago
-
데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.
opt/qlik/gateway/movement/drivers/bin
-
다음 명령을 실행합니다.
구문:
./install redshift
driver를 다운로드할 수 없는 경우(액세스 제한 또는 기술 문제로 인해) driver를 다운로드할 위치와 데이터 이동 게이트웨이 컴퓨터에서 복사할 위치를 알려 주는 메시지가 표시됩니다. 완료했으면 install redshift 명령을 다시 실행합니다.
그렇지 않으면 driver에 대한 EULA가 표시됩니다.
-
다음 중 하나를 수행합니다.
- [Enter] 키를 반복해서 눌러 EULA를 천천히 스크롤합니다.
- 스페이스바를 반복해서 눌러 EULA를 빠르게 스크롤합니다.
- q를 눌러 라이센스 텍스트를 종료하고 EULA 동의 옵션이 표시됩니다.
-
다음 중 하나를 수행합니다.
- "y"를 입력하고 [Enter]를 눌러 EULA에 동의하고 설치를 시작합니다.
- "n"을 입력하고 [Enter] 키를 눌러 EULA를 거부하고 설치를 종료합니다.
-
"v"를 입력하고 [Enter] 키를 눌러 EULA를 다시 봅니다.
-
설치가 완료될 때까지 기다린 다음("완료!"로 표시됨) 데이터 이동 게이트웨이 서비스를 시작합니다.
sudo systemctl start repagent
-
선택적으로 서비스가 시작되었는지 확인합니다.
sudo systemctl status repagent
상태는 다음과 같아야 합니다.
Active: active (running) since <timestamp> ago
driver가 설치됩니다.
driver 업데이트
제공된 driver를 설치하기 전에 driver의 이전 버전을 제거하려면 업데이트 명령을 실행합니다.
driver를 다운로드하고 업데이트하려면:
-
데이터 이동 게이트웨이 서비스 중지:
sudo systemctl stop repagent
-
선택적으로 서비스가 중지되었는지 확인합니다.
sudo systemctl status repagent
상태는 다음과 같아야 합니다.
Active: inactive (dead) since <timestamp> ago
-
데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.
opt/qlik/gateway/movement/drivers/bin
-
다음 명령을 실행합니다.
구문:
./update redshift
driver를 다운로드할 수 없는 경우(액세스 제한 또는 기술 문제로 인해) driver를 다운로드할 위치와 데이터 이동 게이트웨이 컴퓨터에서 복사할 위치를 알려 주는 메시지가 표시됩니다. 완료했으면 update redshift 명령을 다시 실행합니다.
그렇지 않으면 driver에 대한 EULA가 표시됩니다.
-
다음 중 하나를 수행합니다.
- [Enter] 키를 반복해서 눌러 EULA를 천천히 스크롤합니다.
- 스페이스바를 반복해서 눌러 EULA를 빠르게 스크롤합니다.
- q를 눌러 라이센스 텍스트를 종료하고 EULA 동의 옵션이 표시됩니다.
-
다음 중 하나를 수행합니다.
- "y"를 입력하고 [Enter]를 눌러 EULA에 동의하고 설치를 시작합니다.
- "n"을 입력하고 [Enter] 키를 눌러 EULA를 거부하고 설치를 종료합니다.
- "v"를 입력하고 [Enter] 키를 눌러 EULA를 처음부터 검토합니다.
-
설치가 완료될 때까지 기다린 다음("완료!"로 표시됨) 데이터 이동 게이트웨이 서비스를 시작합니다.
sudo systemctl start repagent
-
선택적으로 서비스가 시작되었는지 확인합니다.
sudo systemctl status repagent
상태는 다음과 같아야 합니다.
Active: active (running) since <timestamp> ago
이전 driver가 제거되고 새 driver가 설치됩니다.
driver 제거
driver를 제거하려면 제거 명령을 실행합니다.
driver를 제거하려면:
-
이 커넥터를 사용하도록 구성된 모든 작업을 중지합니다.
-
데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.
opt/qlik/gateway/movement/drivers/bin
-
다음 명령을 실행합니다.
구문:
./uninstall redshift
driver이 제거됩니다.
수동으로 드라이버 설치
자동 드라이버 설치가 성공적으로 완료되지 않은 경우에만 수동으로 driver 설치를 시도해야 합니다.
-
데이터 이동 게이트웨이 서비스 중지:
sudo systemctl stop repagent
-
선택적으로 서비스가 중지되었는지 확인합니다.
sudo systemctl status repagent
-
Amazon Redshift 클러스터에 연결하는 데 필요한 Linux SQL 클라이언트 도구를 다운로드하고 설치합니다. Qlik 데이터 게이트웨이 - 데이터 이동에는 Amazon Redshift ODBC 드라이버(x64) 1.4.65.1000만 필요합니다.
다음에서 드라이버를 다운로드합니다.
ODBC 드라이버를 설치한 후 다음과 같이 /etc/odbcinst.ini 파일을 편집합니다.
[ODBC Drivers]
Amazon Redshift (x64)=Installed
그리고:
[Amazon Redshift (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
-
데이터 이동 게이트웨이 서비스 시작:
sudo systemctl start repagent
-
선택적으로 서비스가 시작되었는지 확인합니다.
sudo systemctl status repagent
상태는 다음과 같아야 합니다.
Active: active (running) since <timestamp> ago
상태는 다음과 같아야 합니다.
Active: inactive (dead) since <timestamp> ago
Amazon Redshift에서 지원하는 드라이버 목록은 http://docs.aws.amazon.com/redshift/latest/mgmt/configure-odbc-connection.html을 참조하십시오.
포트
아웃바운드 통신을 위해 포트 5439(Amazon Redshift Cluster)를 열어야 합니다.
CA 인증서
데이터 이동 게이트웨이는 SSL을 사용하여 AWS에 연결합니다. 이를 위해서는 데이터 이동 게이트웨이 컴퓨터에 상주하는 적절한 CA 인증서가 필요합니다. 그렇지 않으면 연결이 실패합니다. CA 인증서의 목적은 AWS 서버 인증서의 소유권을 인증하는 것입니다.
필요한 CA 인증서가 Linux 컴퓨터의 다음 위치에 있는지 확인합니다.
/etc/pki/tls/certs/ca-bundle.crt
존재하지 않는 경우 가장 간단한 솔루션은 다른 Linux 컴퓨터에서 인증서 번들을 복사하는 것입니다.
일반 전제 조건 및 고려 사항
-
데이터 소스에 4바이트 이모티콘 문자가 있는 경우 변환을 사용하여 데이터 유형을 WSTRING(n )에서 WSTRING( n*2 )으로 변환하십시오.
-
데이터 이동 게이트웨이 컴퓨터의 시간 및 표준 시간대 설정이 정확한지 확인합니다. 이는 다음을 위해 필요합니다.
- 전체 로드 및 CDC 작업의 적절한 동기화
- 트랜잭션 로그 시간과 실제 시간의 상관 관계
-
Amazon Redshift 대상에서 Qlik Talend Data Integration이 만든 데이터 집합에서 Qlik Cloud 분석 서비스에 대한 실시간 보기 및 기록 보기를 읽을 수 없습니다.
제한 사항 및 고려 사항
-
Amazon Redshift 커넥터는 표준 인증(사용자 이름 및 비밀번호)만 지원합니다.
데이터 유형
다음 표는 Qlik Cloud를 사용할 때 지원되는 Amazon Redshift 데이터 유형과 Qlik Cloud 데이터 유형의 기본 매핑을 보여 줍니다.
기본 데이터 유형 정보는 보존되며 데이터 집합 보기의 기본 데이터 유형 열에 표시됩니다. 열이 표시되지 않으면 데이터 집합 보기의 열 선택기를 열고 기본 데이터 유형 열을 선택해야 합니다.
Qlik Cloud 데이터 유형 | Amazon Redshift 데이터 유형 |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
VARBINARY(길이) |
DATE |
DATE |
TIME |
VARCHAR(20) |
DATETIME |
배율 => 0이고 배율 =< 6인 경우: TIMESTAMP 배율 => 7이고 배율 =< 12인 경우: VARCHAR(37) |
INT1 |
INT2 |
INT2 |
INT2 |
INT4 |
INT4 |
INT8 |
INT8 |
NUMERIC |
배율 => 0이고 배율 =< 37인 경우: NUMERIC(정밀도, 배율) 배율 => 38 이고 배율 =< 127인 경우: VARCHAR(길이) |
REAL4 |
FLOAT4 |
REAL8 |
FLOAT8 |
STRING |
길이가 => 1이고 =< 65535인 경우: VARCHAR(바이트 단위 길이) 길이가 => 65535이고 =< 2147483647인 경우: VARCHAR(65535) |
UINT1 |
INT2 |
UINT2 |
INT4 |
UINT4 |
INT8 |
UINT8 |
NUMERIC(20,0) |
WSTRING |
길이 => 1이고 길이 =< 21845인 경우: NVARCHAR(바이트 단위 길이) 길이 => 21846이고 길이 =< 2147483647인 경우: NVARCHAR(65535) |
BLOB |
VARBYTE(16777216) |
NCLOB |
VARCHAR(65535) |
CLOB |
VARCHAR(65535) |
다음 SQL Server 데이터 유형은 지원되지 않습니다. 데이터를 읽을 수 없습니다.
-
HLLSKETCH
다음 데이터 유형은 VARCHAR(65535)로 변환됩니다.
-
GEOGRAPHY
-
GEOMETRY