Snowflake
Snowflake は、 データ パイプラインまたはレプリケーション タスクのターゲット データ プラットフォームとして使用できます。データ パイプラインでは、データの保存、データの変換、データ マートの作成、データの登録など、さまざまな ELT 操作をターゲット プラットフォーム上で実行できます。一方、レプリケーション タスクでは、基本的な変換機能を備え、ソース システムからターゲット システムへ直接データをレプリケートしますが、ELT 操作はサポートしません。 を使用できます
Snowflake をターゲットとして設定するには、次が必要です。
- データベースの 必要な権限 を設定する。
- 必須ドライバーをインストールする。これは、Data Movement gateway 経由で Snowflake に接続する場合にのみ必要であることに注意してください。
- Snowflakeへの接続を構成する
接続プロパティの設定
コネクタを構成するには、次の手順を実行します。
-
[接続] で、 [接続を作成] をクリックします。
-
Snowflake ターゲット コネクタを選択し、次の設定を行います。
Data Movement gateway
データ ゲートウェイ
Data Movement gateway は、ターゲット データベースが Qlik Cloud からアクセスできない場合にのみ必要で、プライベート リンクを使用してのみアクセスできます ( Virtual Private Cloud にある場合など) 。該当する場合には、ターゲット データベースにアクセスする Data Movement gateway を選択します。
ユースケースに応じて、これはデータ ソースからデータを移動するために展開された、同じまたは別の Data Movement gateway になります。
Data Movement gateway のユース ケースに関する詳細については、「どのようなときに Data Movement gateway が必要ですか?」および「 一般的なユース ケース」を参照してください。
ターゲット データベースが Qlik Cloud から直接アクセスできる場合は、 [None] (なし) を選択します。
接続プロパティ
-
サーバー: Snowflake にアクセスするための URL。例) myaccount.snowflakecomputing.com。
-
ポート: Snowflake データベースにアクセスするために通過するポート。既定値は 443 です。
[Authentication] (認証)
接続の認証にはさまざまな方法があります。
-
ユーザー名とパスワード
-
キー ペア
Snowflake データベースは、キー ペア認証を使用するように構成する必要があります。このプロセスは Snowflake のドキュメントに記載されています。
情報メモData Movement gateway を使用する場合、キーペア認証を使用するにはバージョン 2024.5.14 以降が必要です。
アカウントのプロパティ
ユーザー名とパスワード
ユーザー名とパスワード: Snowflake データベースへのアクセスを承認されたユーザーのユーザー名とパスワード。
キー ペア
アカウントのプロパティ | 説明 |
---|---|
ユーザー | Snowflake のユーザー。 |
[Private Key File] (プライベートキーファイル) | [参照] をクリックして、プライベート キー ファイルを選択します。 |
プライベート キー ファイルのパスワード | プライベート キーが暗号化されている場合に復号するためのパスワード。 |
データベースのプロパティ
- 既定のウェアハウス: Snowflake ウェアハウスの名前です。これはプロジェクト設定で上書きできます。
-
データベース名: データベースを指定するには 2 つの方法があります。
-
方法 1 - リストから選択: [Load databases] (データベースをロード) をクリックし、データベースを選択します。
- 方法 2 - 手動: [Enter database name manually] (データベース名を手動で入力) を選択し、データベース名を入力します。
-
内部プロパティ
内部プロパティは、特殊なユース ケース向けであるため、ダイアログで公開されません。Qlik サポートによって指示があった場合にのみ使用する必要があります。
項目右側にある と ボタンを使用して、必要に応じてプロパティを追加したり削除したりします。
名前
接続の表示名です。
前提条件
必要な権限
次の権限が必要です。
存在しないスキーマを自動的に作成する場合に必要な権限
- USAGE ON DATABASE
- CREATE SCHEMA ON DATABASE
スキーマが既に存在する場合に必要な権限
- USAGE ON DATABASE
- USAGE ON SCHEMA
- CREATE FILE FORMAT ON SCHEMA
- CREATE STAGE ON SCHEMA
- CREATE TABLE ON SCHEMA
ドライバーのセットアップ
ドライバーは、Data Movement gateway 経由でデータベースにアクセスする場合にのみ必要です。
driver のインストールは、ドライバー インストール ユーティリティを使用する (推奨) か、手動で実行できます。手動インストールは、ドライバー インストール ユーティリティで問題が発生した場合にのみ実行するようにしてください。
ドライバー インストール ユーティリティを使用したドライバーのインストール
このセクションでは、必要な driver のインストール方法を説明しました。このプロセスでは、driver をダウンロードし、必要なフォルダー (以下を参照) にコピーし、自動的にインストールして設定するスクリプトを実行します。また、必要に応じて driver の更新やアンインストールを行うスクリプトを実行することもできます。
インストールの準備
-
データ移動 ゲートウェイ サーバーに Python 3.6.x 以降 がインストールされていることを確認します。
Python は、ほとんどの Linux 配布に前もってインストールされています。お使いのシステムにインストールされている Python のバージョンは、次のコマンドを実行することで確認できます。
python3 --version
-
Snowflake ODBC ドライバー「snowflake-odbc-<version>.x86_64.rpm」をダウンロードします。サポートされているバージョンへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml の binary-artifacts にあります。ダウンロードが完了したら、ファイルを次の場所にコピーします。
/opt/qlik/gateway/movement/drivers/snowflake
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 snowflake
それ以外の場合は、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 snowflake
それ以外の場合は、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 snowflake
driver がアンインストールされます。
ドライバーの手動インストール
自動ドライバーのインストールが正常に完了しなかった場合にのみ、driver を手動でインストールするようにしてください。
ODBC ドライバーと JDBC ドライバーの両方をインストールする必要があります。
ODBC ドライバーのインストール
- Data Movement gateway がインストールされたら、/opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml の binary-artifacts の下にリストされている snowflake-odbc-<バージョン>x86_64.rpm ドライバー ファイルをダウンロードし、Data Movement gateway マシンにコピーします。
- ドライバーを Data Movement gateway マシンにインストールします。
JDBC ドライバーのインストール
-
/opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml の binary-artifacts の下にリストされている snowflake-jdbc-<バージョン>.jar ファイルをダウンロードし、Data Movement gateway マシンの次のフォルダーにコピーします。
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Data Movement gateway サービスを再起動し、サービスが Data Movement gateway サービス コマンド で説明されているコマンドを実行して再起動されているかどうかを確認します。
ポート
アウトバウンド通信のために、ファイアウォール ポート 443 を開く必要があります。
パフォーマンスとクラウド サービスの使用の最適化
制限と考慮事項
データを Snowflake ターゲットに動かす際は、次の制限が適用されます。
- 名前にバックスラッシュを含むテーブル (例: SPECIAL\\TABLE\N) のレプリケーションはサポートされていません。
データ型
次の表は、Qlik Cloud の使用時に対応する Snowflake データ型と、Qlik Cloud データ型からの初期設定のマッピングを示しています。
ネイティブ データ タイプの情報は保持され、データセット ビューの [ネイティブ データ タイプ] 列に表示されます。列が表示されない場合は、データ セット ビューの列ピッカーを開いて、 [ネイティブ データ タイプ] 列を選択する必要があります。
Qlik Cloud データ型 | Snowflake データ型 |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
BINARY (長さのバイト数) |
DATE |
DATE |
TIME |
TIME (精度) |
DATETIME |
TIMESTAMP_NTZ (精度) |
INT1 |
BYTEINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
NUMBER (精度、スケール) |
REAL4 |
FLOAT4 |
REAL8 |
FLOAT8 |
UINT1 |
BYTEINT |
UINT2 |
INTEGER |
UINT4 |
INTEGER |
UINT8 |
BIGINT |
STRING |
VARCHAR (長さのバイト数) |
WSTRING |
NVARCHAR (長さのバイト数) |
BLOB |
BINARY (8388608) |
NCLOB |
NVARCHAR (8388608) |
CLOB |
VARCHAR (8388608) |