Azure Synapse Analytics
Azure Synapse Analytics をデータ パイプラインのターゲット データ プラットフォームとして使用できます。データ パイプラインでは、データの保存、データの変換、データ マートの作成、データの登録など、さまざまな ELT 操作をターゲット プラットフォーム上で実行できます。
Azure Synapse Analytics をターゲットとして設定するには、次が必要です。
- 前提条件を満たす
- クラウド ステージング エリア (Azure Data Lake Storage) への接続を構成する。これは、既存のデータを登録する場合は必要ありません。
- Azure Synapse Analytics への接続を構成する
クラウド ステージング エリアの設定
また、データと変更が適用および保存される前にステージングされる Azure Data Lake Storage クラウド ステージング エリアも必要です。Azure Data Lake Storage への接続の設定については、「Azure Data Lake Storage」を参照してください。
Azure Synapse Analytics 接続プロパティの設定
Azure Data Lake Storage ターゲット設定を指定したら、次の操作を行います。
-
[接続] で、[接続を作成] をクリックします。
-
Azure Synapse Analytics ターゲット コネクタを選択し、次の設定を行います。
データ ターゲット
データ ゲートウェイ
Data Movement gateway は、ターゲット データベースが Qlik Cloud からアクセスできない場合にのみ必要で、プライベート リンクを使用してのみアクセスできます ( Virtual Private Cloud にある場合など) 。該当する場合には、ターゲット データベースにアクセスする Data Movement gateway を選択します。
ユースケースに応じて、これはデータ ソースからデータを移動するために展開された、同じまたは別の Data Movement gateway になります。
Data Movement gateway のユース ケースに関する詳細については、「どのようなときに Data Movement gateway が必要ですか?」および「 一般的なユース ケース」を参照してください。
ターゲット データベースが Qlik Cloud から直接アクセスできる場合は、 [None] (なし) を選択します。
接続プロパティ
-
サーバー: Azure Synapse Analytics データベースの場所を識別するためのホスト名。
-
ポート: Azure Synapse Analytics データベースにアクセスするために通過するポート。既定値は 1433 です。
アカウントのプロパティ
ユーザー名とパスワード: Azure Synapse Analytics データベースへのアクセスを承認されたユーザーのユーザー名とパスワード。
データベースのプロパティ
-
データベース名: データベースを指定するには 2 つの方法があります。
- 方法 1 - リストから選択: この方法では、ユーザーをマスター データベース上に作成する必要があります。[Load databases] (データベースをロード) をクリックし、データベースを選択します。
- 方法 2 - 手動: [Enter database name manually] (データベース名を手動で入力) を選択し、データベース名を入力します。
データ ローディング プロパティ
SQL Server 資格情報は、実行時に自動的に作成することも (既定)、既存の資格情報を使用することもできます。必要に応じて、次のいずれかを実行します。
- [SQL Server 資格情報を作成] チェック ボックスが選択されている場合 (既定)、SQL Server 資格情報は実行時に自動的に作成されます。[アクセス キー] 項目にアクセス キーを指定します。
- 既存の資格情報を使用するには、 [SQL Server 資格情報を作成] チェック ボックスをオフにして、 [資格情報名] 項目に SQL Server 資格情報の名前を指定します。
名前
接続の表示名です。
前提条件
権限
以下で説明するように、ストレージ権限とデータベース権限の両方を付与する必要があります。
ストレージ権限
Azure Synapse Analytics コネクタで指定されたユーザーには、次のストレージ 権限が付与されている必要があります。
- ADLS Gen2 ストレージ コンテナで: LIST
- ADLS Gen2 ストレージ フォルダーで: READ、WRITE、DELETE
- ADLS Gen2 ファイル システムのアクセス制御 (IAM) 設定で、"Storage Blob Data Contributor" ロールを Data Movement gateway (AD アプリ ID) に割り当てます。ロールが有効になるまで数分かかる場合があります。
データベース権限
Azure Synapse Analytics コネクタで指定されたユーザーには、データベースに対する次の権限が付与されている必要があります。
-
一般的な権限:
- db_owner ロール
-
テーブル権限:
- SELECT、INSERT、 UPDATE および DELETE
- 一括ロード
- CREATE、ALTER、DROP (タスクの定義に必要であれば)
データベースの選択
データベースを選択できるようにする (コネクタ ダイアログで [Load databases] (データベースをロード) をクリック) には、コネクタ設定で指定したユーザーをマスター データベース上に作成する必要があります。
ドライバーのセットアップ
ドライバーは、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 sqlserver
アクセス制限または技術的な問題により driver をダウンロードできない場合は、driver をダウンロードする場所と データ移動 ゲートウェイ マシンのコピー先を指示するメッセージが表示されます。それが完了したら、install sqlserver コマンドを再度実行します。
それ以外の場合は、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 sqlserver
アクセス制限または技術的な問題により driver をダウンロードできない場合は、driver をダウンロードする場所と データ移動 ゲートウェイ マシンのコピー先を指示するメッセージが表示されます。それが完了したら、update sqlserver コマンドを再度実行します。
それ以外の場合は、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 sqlserver
driver がアンインストールされます。
ドライバーの手動インストール
自動ドライバーのインストールが正常に完了しなかった場合にのみ、driver を手動でインストールするようにしてください。
ODBC ドライバーと JDBC ドライバーの両方をインストールする必要があります。
ODBC ドライバーのインストール
Data Movement gateway がインストールされたら、msodbcsql<バージョン>.x86_64.rpmドライバーをダウンロードします。サポートされているバージョンへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml の binary-artifacts にあります。ダウンロードが完了したら、RPM を Data Movement gateway マシンにコピーします。
Data Movement gateway サーバーで、シェル プロンプトを開き、次の手順を実行します。
-
Data Movement gateway サービスを停止します。
sudo systemctl stop repagent
-
オプションで、サービスが停止されたことを確認します。
sudo systemctl status repagent
-
ドライバー (RPM) をインストールします。
-
作業ディレクトリを <product_dir>/bin に変更します。
-
ドライバーの場所を
site_arep_login.sh
ファイルにコピーします:echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/
msodbcsql<version>
/lib64/" >> site_arep_login.sh
これにより、ドライバーが「LD_LIBRARY_PATH」に追加され、 site_arep_login.sh ファイル内のドライバー場所が更新されます。
-
オプションで、ドライバーの場所がコピーされていることを確認します。
cat site_arep_login.sh
-
Data Movement gateway サービスを起動します。
sudo systemctl start repagent
-
オプションで、サービスが開始されたことを確認します。
sudo systemctl status repagent
ステータスは次のようになっているはずです。
Active: active (running) since <timestamp> ago
-
Data Movement gateway は次の ODBC ライブラリを必要とします: msodbcsql-18.1.so.1.1
現在インストールされているライブラリのバージョンを確認するには、次のコマンドを発行します。
ls /opt/microsoft/msodbcsql<version>/lib64/
既存のライブラリのバージョン番号が異なる場合 (例: libmsodbcsql-18.0.so.1.1)、既存のライブラリと必要なライブラリの間にシンボリック リンクを作成する必要があります。
これを行うには、次のコマンドを発行します。
cd /opt/microsoft/msodbcsql<version>/lib64/
ln -s existing_library_name
msodbcsql-18.1.so.1.1existing_library_name
は現在インストールされているライブラリの名前です (例: libmsodbcsql-18.0.so.1.1)。
ステータスは次のようになっているはずです。
Active: inactive (dead) since <timestamp> ago
JDBC ドライバーのインストール
-
mssql-jdbc-<バージョン>.jar ファイルをダウンロードします。サポートされているバージョンへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml の binary-artifacts にあります。ダウンロードが完了したら、JAR ファイルを Data Movement gateway マシンの次のフォルダーにコピーします。
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
サービスの再起動 で説明されているコマンドを実行して、Data Movement gateway サービスを再起動します
ポート
- Azure 外のマシンで Data Movement gateway が実行される場合 - アウトバウンド通信用にポート 1433 を開きます。
- AzureVM で Data Movement gateway が実行される場合 - アウトバウンド通信用に次のポートを開きます。
- 1433
- 11000-11999
- 14000-14999
制限と考慮事項
Azure Synapse Analytics をターゲットとして使用する場合は、次の制限と考慮事項を考慮する必要があります。
-
CHAR/VARCHAR データ型と非ラテン語照合順序 (「Chinese_PRC_CI_AS」など) を持つソース列は、NVARCHAR にマップする必要があります。
-
空のソース列の処理:
-
空の値を持つソース バイナリ列 (VARBINARY や BLOB など) を 移動 する場合、Qlik Talend Data Integration は対応するターゲット列に NULL を挿入します。
情報メモ空の値は NULL ではなく、長さがゼロのデータです。 -
- 1 MBを超えるレコードの 移動 はサポートされていません。
- 4 バイトの絵文字を含むデータの 移動 では、ターゲット上のデータ型がワイド文字列 (NCHAR/NVARCHAR/NCLOB など) である必要があります。
データ型
次の表は、Qlik Cloud の使用時に対応する Azure Synapse Analytics データ型と、Qlik Cloud データ型からの初期設定のマッピングを示しています。
ネイティブ データ タイプの情報は保持され、データセット ビューの [ネイティブ データ タイプ] 列に表示されます。列が表示されない場合は、データ セット ビューの列ピッカーを開いて、 [ネイティブ データ タイプ] 列を選択する必要があります。
Qlik Cloud データ型 | Azure Synapse Analytics データ型 |
---|---|
BOOLEAN |
BIT |
BYTES |
VARBINARY (長さのバイト数) |
DATE |
DATE |
TIME |
TIME |
DATETIME |
DATETIME |
INT1 |
BYTEINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
NUMERIC (精度、スケール) |
REAL4 |
REAL |
REAL8 |
FLOAT |
UINT1 |
BYTEINT |
UINT2 |
INTEGER |
UINT4 |
INTEGER |
UINT8 |
BIGINT |
STRING |
VARCHAR (長さのバイト数) |
WSTRING |
NVARCHAR (長さのバイト数) |
BLOB |
VARBINARY (長さのバイト数) |
NCLOB |
NVARCHAR (長さのバイト数) |
CLOB |
VARCHAR (長さのバイト数) |