Amazon Redshift
Amazon Redshift は、 データ パイプラインまたはレプリケーション タスクのターゲット データ プラットフォームとして使用できます。データ パイプラインでは、データの保存、データの変換、データ マートの作成、データの登録など、さまざまな ELT 操作をターゲット プラットフォーム上で実行できます。一方、レプリケーション タスクでは、基本的な変換機能を備え、ソース システムからターゲット システムへ直接データをレプリケートしますが、ELT 操作はサポートしません。 を使用できます
Amazon Redshift をターゲットとして設定するには、次が必要です。
- 前提条件を満たす
- クラウド ステージング エリア (Amazon S3) への接続を構成する。これは、既存のデータを登録する場合は必要ありません。
- Amazon Redshift への接続を構成する
クラウド ステージング エリアの設定
Amazon Redshift への接続を構成するには、データと変更が適用され保存される前にステージングされる Amazon S3 クラウド ステージングエリアへの接続を設定する必要があります。
Amazon S3 への接続の設定については、「Amazon S3」を参照してください。
Amazon Redshift への接続を構成する
ステージング設定を指定したら、次の操作を行います。
-
[接続] で、[接続を作成] をクリックします。
-
Amazon Redshift ターゲット コネクタを選択し、次の設定を行います。
データ ターゲット
データ ゲートウェイ
Data Movement gateway は、ターゲット データベースが Qlik Cloud からアクセスできない場合にのみ必要で、プライベート リンクを使用してのみアクセスできます (オンプレミスのファイアウォールの背後または Virtual Private Cloud にある場合など) 。該当する場合には、ターゲット データベースにアクセスする Data Movement gateway を選択します。
ユースケースに応じて、これはデータ ソースからデータを移動するために展開された、同じまたは別の Data Movement gateway になります。
Data Movement gateway のユース ケースに関する詳細については、「どのようなときに Data Movement gateway が必要ですか?」および「 一般的なユース ケース」を参照してください。
ターゲット データベースが Qlik Cloud から直接アクセスできる場合は、 [None] (なし) を選択します。
接続プロパティ
-
サーバー: Amazon Redshift データベース サーバーのホスト名。
-
ポート: Amazon Redshift データベースにアクセスするために通過するポート。既定値は 5439 です。
アカウントのプロパティ
ユーザー名とパスワード: Amazon Redshift データベースへのアクセスを承認されたユーザーのユーザー名とパスワード。
データベースのプロパティ
-
データベース名: データベースを指定するには 2 つの方法があります。
- 方法 1 - リストから選択: [Load databases] (データベースをロード) をクリックし、データベースを選択します。
- 方法 2 - 手動: [Enter database name manually] (データベース名を手動で入力) を選択し、データベース名を入力します。
内部プロパティ
内部プロパティは、特殊なユース ケース向けであるため、ダイアログで公開されません。Qlik サポートによって指示があった場合にのみ使用する必要があります。
項目右側にある と ボタンを使用して、必要に応じてプロパティを追加したり削除したりします。
名前
接続の表示名です。
前提条件
必要な権限
Redshift データベースに次の権限を付与します。
- Grant COPY
- Grant INSERT
- Grant UPDATE
- Grant DELETE
- Grant SELECT
- Create Schema (スキーマが存在せず、Qlik Talend Data Integration で作成する場合にのみ必要)
- Grant CREATE TABLE
- Grant ALTER TABLE
- Grant DROP TABLE
ドライバーのセットアップ
ドライバーは、Data Movement gateway 経由でデータベースにアクセスする場合にのみ必要です。このような場合は、Data Movement gateway マシンにドライバーをインストールする必要があります。
driver のインストールは、ドライバー インストール ユーティリティを使用する (推奨) か、手動で実行できます。手動インストールは、ドライバー インストール ユーティリティで問題が発生した場合にのみ実行するようにしてください。
ドライバー インストール ユーティリティを使用したドライバーのインストール
このセクションでは、必要な driver のインストール方法を説明しました。このプロセスでは、必要な driver を自動的にダウンロード、インストール、設定するスクリプトを実行します。また、必要に応じて driver の更新やアンインストールを行うスクリプトを実行することもできます。
インストールの準備
-
データ移動 ゲートウェイ サーバーに Python 3.6.x 以降 がインストールされていることを確認します。
Python は、ほとんどの Linux 配布に前もってインストールされています。お使いのシステムにインストールされている Python のバージョンは、次のコマンドを実行することで確認できます。
python3 --version
driver のインストール
driver をダウンロードしてインストールするには:
-
Data Movement gateway サービスを停止します。
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 が再表示されます。
-
インストールが終了するまで待ってから (「完了しました!」と表示されます)、Data Movement gateway サービスを開始します。
sudo systemctl start repagent
-
必要に応じて、サービスが開始されたことを確認します。
sudo systemctl status repagent
ステータスは次のようになっているはずです。
Active: active (running) since <timestamp> ago
driver がインストールされます。
driver の更新
提供された driver をインストールする前に前のバージョンの driver をアンインストールしたい場合は、更新コマンドを実行します。
driver をダウンロードして更新するには:
-
Data Movement gateway サービスを停止します。
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 をレビューできます。
-
インストールが終了するまで待ってから (「完了しました!」と表示されます)、Data Movement gateway サービスを開始します。
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 を手動でインストールするようにしてください。
-
Data Movement gateway サービスを停止します。
sudo systemctl stop repagent
-
オプションで、サービスが停止されたことを確認します。
sudo systemctl status repagent
-
Amazon Redshift クラスターへの接続に必要な Linux SQL クライアントツール をダウンロードしてインストールします。Qlik Data Gateway - データ移動 には Amazon Redshift ODBC ドライバー (x64) 1.4.34.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
-
Data Movement gateway サービスを起動します。
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 を参照してください。
ポート
Port 5439 (Amazon Redshift クラスター) はアウトバウンド通信のために開く必要があります。
CA 証明書
Data Movement gateway は SSL を使用して AWS に接続します。これには、適切な CA 証明書が Data Movement gateway マシンに存在する必要があります。 そうしないと、接続が失敗します。CA 証明書の目的は、AWS サーバー証明書の所有権を認証することです。
必要な CA 証明書が Linux マシンの次の場所に存在することを確認します。
/etc/pki/tls/certs/ca-bundle.crt
存在しない場合、最も簡単な解決策は、別の Linux マシンから証明書バンドルをコピーすることです。
一般的な前提条件と考慮事項
-
データ ソースに 4 バイトの絵文字がある場合、変換を使用してデータ タイプを WSTRING(n ) から WSTRING ( n*2 ) に変換してください。
-
Data Movement gateway マシンの時刻とタイム ゾーンの設定が正確であることを確認します。これは、以下を確実にするために必要です。
- フル ロードと CDC タスクの適切な同期
- トランザクション ログ時間と実際の時間の相関
-
Qlik Talend Data Integration によって Amazon Redshift ターゲットに作成されたデータセットから、ライブ ビューと履歴ビューを Qlik Cloud Analytics サービス に読み込むことはできません。
制限と考慮事項
-
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