Databricks
Databricks データ パイプラインのターゲット データ プラットフォームとして。データ パイプラインでは、データのランディング、データの保存、データの変換、データ マートの作成、データの登録などのさまざまな操作をターゲット プラットフォーム上で実行できます。 を使用できます
含まれる内容:
- 前提条件を満たす
- クラウド ステージング エリアへの接続を構成する。これは、既存のデータを登録する場合は必要ありません。
- Databricks への接続を構成する
クラウド ステージング エリアの設定
Databricks ターゲット コネクタを使用する場合は、データと変更が適用および保存される前にステージングされるクラウド ステージング エリアも定義する必要があります。次のストレージ プラットフォームがサポートされています。
Databricks への接続を構成する
Databricks ターゲット コネクタを選択し、次の設定を構成します。
データ ターゲット
データ ゲートウェイ:データ移動ゲートウェイ は、ターゲット データベースが Qlik Cloud からアクセスできない場合にのみ必要で、プライベート リンクを使用してのみアクセスできます ( Virtual Private Cloud にある場合など) 。該当する場合には、ターゲット データベースにアクセスする データ移動ゲートウェイ を選択します。
ユースケースに応じて、これはデータ ソースからデータを取得するために展開された、同じまたは別の データ移動ゲートウェイ になります。データ移動ゲートウェイ 展開の可能性については、「一般的な使用例」を参照してください。
ターゲット データベースが Qlik Cloud から直接アクセスできる場合は、 [None] (なし) を選択します。
接続プロパティ
- ホスト: Databricks ワークスペースのホスト名。
- ポート: ワークスペースへのアクセスに使用するポート。
- HTTP パス: 使用されているクラスターへのパス。
- トークン: ワークスペースにアクセスするための個人トークン。
カタログのプロパティ
[カタログをロード] をクリックして使用可能なカタログをロードし、 [カタログ] を選択します。環境にカタログが構成されていない場合は、既定のカタログである hive_metastore を選択します。
Databricks で外部の場所を定義することで、データ移動ゲートウェイ が外部 (管理されていない) テーブルにアクセスできるようにする必要があります。ガイドラインは、次を参照してください。
内部プロパティ
内部プロパティは、特殊なユース ケース向けであるため、ダイアログで公開されません。Qlik サポートによって指示があった場合にのみ使用する必要があります。
項目右側にある と ボタンを使用して、必要に応じてプロパティを追加したり削除したりします。
名前
接続の表示名です。
前提条件
一般的な権限
- Qlik Cloud Data Integration Server マシンの時刻は正確である必要があります。
- データブリック テーブル権限: Data Movement gateway には、Databricks テーブルで次の操作を実行する権限が必要です: テーブルの作成、削除、切り取り、説明、および変更。
- ADLS Gen2 ファイル システムのアクセス制御 (IAM) 設定で、"Storage Blob Data Contributor" ロールを Data Movement gateway (AD アプリ ID) に割り当てます。ロールが有効になるまで数分かかる場合があります。
- Data Movement gateway を ODBC 経由で Databricks クラスターに接続するためには、ユーザーの Databricks アカウントで「添付可能」権限をユーザーに付与する必要があります。
- Databricks にアクセスするには、有効なセキュリティ トークンが必要です。エンドポイント設定で [Databricks ODBC アクセス] 項目を構成する際は、トークンを指定する必要があります。
-
Microsoft Azure Data Lake Storage (ADLS) Gen2 を使って新しいクラスターを構成する際は、「Spark Config」セクションに次の行を追加する必要があります。
spark.hadoop.hive.server2.enable.doAs false
-
Databricks クラスターからストレージ ディレクトリにアクセスするには、ユーザーがストレージ アカウントとそのキーに構成 (Spark Config で) を追加する必要があります。
fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>
詳細については、次のサイトで Databricks オンライン ヘルプを参照してください: https://docs.databricks.com/clusters/configure.html#spark-configuration
-
ベストプラクティスは、Databricks データベースのルート ロケーション (/Usr/Hive/Warehouse/) を使用しないことです。そうすると、パフォーマンスに影響が及ぶ必要があります。
ストレージへのアクセス権限
クラウド ストレージにアクセスするには、Databricks SQL コンピューティングを構成する必要があります。手順については、ベンダーのオンライン ヘルプを参照してください。
ドライバーのセットアップ
ドライバーは、データ移動ゲートウェイ 経由でデータベースにアクセスする場合にのみ必要です。このような場合は、データ移動ゲートウェイ マシンにドライバーをインストールする必要があります。
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 databricks
アクセス制限または技術的な問題により driver をダウンロードできない場合は、driver をダウンロードする場所と データ移動 ゲートウェイ マシンのコピー先を指示するメッセージが表示されます。それが完了したら、install databricks コマンドを再度実行します。
それ以外の場合は、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 databricks
アクセス制限または技術的な問題により driver をダウンロードできない場合は、driver をダウンロードする場所と データ移動 ゲートウェイ マシンのコピー先を指示するメッセージが表示されます。それが完了したら、update databricks コマンドを再度実行します。
それ以外の場合は、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 databricks
driver がアンインストールされます。
ドライバーの手動インストール
自動ドライバーのインストールが正常に完了しなかった場合にのみ、driver を手動でインストールするようにしてください。
ODBC ドライバーのインストール
データ移動ゲートウェイ がインストールされたら、SimbaSparkODBC-<version>-LinuxRPM-64bit.zip ファイルをダウンロードします。サポートされているバージョンへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/databricks.yaml の binary-artifacts にあります。ダウンロードが完了したら、ファイルを データ移動ゲートウェイ マシンにコピーします。
-
Data Movement gateway サービスを停止します。
sudo systemctl stop repagent
-
必要に応じて、サービスが停止されたことを確認します。
sudo systemctl status repagent
-
ドライバーを Data Movement gateway マシンにインストールします。
-
インストールしたら、次のセクションが /etc/odbcinst.ini ファイルに表示されていることを確認します。
-
Data Movement gateway サービスを起動します。
sudo systemctl start repagent
-
オプションで、サービスが開始されたことを確認します。
sudo systemctl status repagent
ステータスは次のようになっているはずです。
Active: active (running) since <timestamp> ago
ステータスは次のようになっているはずです。
Active: inactive (dead) since <timestamp> ago
[Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
JDBC ドライバーのインストール
-
databricks-jdbc-<バージョン>.jar ファイルをダウンロードします。サポートされているバージョンへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/databricks.yaml の binary-artifacts にあります。ダウンロードが完了したら、JAR ファイルを データ移動ゲートウェイ マシンの次のフォルダーにコピーします。
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
データ移動ゲートウェイ サービスを再起動し、サービスが データ移動ゲートウェイ サービス コマンド で説明されているコマンドを実行して再起動されているかどうかを確認します。
ポート
アウトバウンド通信のために、ファイアウォール ポート 443 を開く必要があります。
データ型
次の表は、Qlik Cloud の使用時に対応する Databricks データ型と、Qlik Cloud データ型からの初期設定のマッピングを示しています。
ネイティブ データ タイプの情報は保持され、データセット ビューの [ネイティブ データ タイプ] 列に表示されます。列が表示されない場合は、データ セット ビューの列ピッカーを開いて、 [ネイティブ データ タイプ] 列を選択する必要があります。
Qlik Cloud データ型 | Databricks データ型 |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
STRING |
DATE |
DATE |
TIME |
STRING |
DATETIME |
TIMESTAMP |
INT1 |
TINYINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
DECIMAL (精度、スケール) |
REAL4 |
FLOAT |
REAL8 |
DOUBLE |
UINT1 |
SMALLINT |
UINT2 |
INT |
UINT4 |
BIGINT |
UINT8 |
DECIMAL (20、0) |
STRING |
VARCHAR (長さのバイト数) |
WSTRING |
VARCHAR (長さのバイト数) |
BLOB |
STRING |
NCLOB |
STRING |
CLOB |
STRING |
次のデータ型は STRING(255) に変換されます。
-
MAP
-
ARRAY
-
STRUCT
制限と考慮事項
-
主キーのないテーブルで Databricks on AWS を使用する場合、ストレージ アプリでランディングでのテーブルの再読み込みが失敗します。 これを解決するには、次のいずれかを実行できます
-
テーブルに主キーを定義します。
-
Databricks で spark.databricks.delta.alterTable.rename.enabledOnAWS を True に設定します。
-
SQL ベースの変換を作成する場合、すべての VARCHAR 項目は STRING(255) として返されます。
-