8.12 GoldenGate for DAAによるAzure Databricks (Unity Catalogが有効になっている)へのリアルタイム・データ取込み
概要
このドキュメントでは、GoldenGate for Distributed Applications and Analytics (GG for DAA)を使用してAzure Databricksのデルタ・テーブルにリアルタイム・データを取り込む方法を手順を追って説明します。
Databricksは、エンタープライズグレードのデータ、分析、AIソリューションを大規模に構築、導入、共有および保守するための、統合されたオープン・アナリティクス・プラットフォームです。
GG for DAAのDatabricksハンドラでは、ステージングおよびマージのデータ・フローが使用されます。ステージングおよびマージでは、変更データがマイクロバッチで一時的な場所にステージングされ、最終的に、マージSQLを使用してターゲット表にマージされます。
すべてのレプリケーション・プロセスは、GoldenGate for Distributed Applications and Analytics (GG for DAA)のDatabricksハンドラによって自動的に処理されます。
GG for DAAでは、Databricksワークスペース(Databricks Unity Catalogありの構成でもなしの構成でも可)がサポートされています。このクイックスタートでは、Unity CatalogありのDatabricksワークスペースについて説明し、外部表を作成します。外部表は、外部の場所に格納されているデータを参照する、ファイルバックアップ表です。Azure Storageコンテナは、Azure Databricksの外部の場所です。
- Unity Catalogを使用したDatabricksレプリケーションの前提条件
- 依存性ファイルのインストール
- Oracle GoldenGate for Distributed Applications and AnalyticsでのReplicatの作成
親トピック: クイックスタート
8.12.1 Unity Catalogを使用したDatabricksレプリケーションの前提条件
このクイックスタートを正常に完了するには、次のものが必要です:
- Unity CatalogありのDatabrickワークスペース
- Azureストレージ・アカウントにアクセスするためのストレージ資格証明
- Azureストレージ・アカウントにアクセスするための外部の場所
- ターゲット・カタログで使用可能なスキーマ
- Databricksアクセス用のJDBC URL
- Databricksのユーザー名/パスワード(このクイック・スタートではアクセス・トークンを使用します)
tr
という名前)を使用します。サンプル証跡ファイルを使用して続行する場合、それはGG for DAAインスタンスのGG_HOME/opt/AdapterExamples/trail/
にあります。
GG for DAAによって表が自動的に作成されます。
8.12.2 依存性ファイルのインストール
GG for DAAでは、Databrickによって提供されているJava SDKが使用されます。それらのSDKは、GG for DAAに付属の依存性ダウンローダ・ユーティリティを使用してダウンロードできます。依存性ダウンローダは、Mavenおよび他のリポジトリから依存性jarファイルをダウンロードするシェル・スクリプトのセットです。
- GG for DAA VMで、依存性ダウンローダ・ユーティリティに移動します。それは
GG_HOME/opt/DependencyDownloader/
にあります。databricks.sh
を見つけてください。 - 必要なバージョンを指定して
databricks.sh
を実行します。バージョンおよび報告されている脆弱性は、Maven Centralで確認できます。このドキュメントでは、このクイックスタートの公開時の最新バージョンである2.6.38を使用しています。 - 新しいディレクトリが、
GG_HOME/opt/DependencyDownloader/dependencies
に、<databricks_jdbc_version>
という名前で作成されます。Replicatのプロパティで使用するため、このディレクトリを書き留めてください。たとえば、/u01/app/ogg/opt/DependencyDownloader/dependencies/databricks-jdbc-2.6.36
です。図8-82 必要なバージョンを指定したdatabricks.shの実行
- Azure Storage依存性についても、同じ手順に従います。
azure_blob_storage.sh
を実行して、Azure Storage依存性をダウンロードできます。図8-83 Azure Storage依存性をダウンロードするためのazure_blob_storage.shの実行
新しいディレクトリが、
GG_HOME/opt/DependencyDownloader/dependencies
に、<azure-storage-blob_version>
という名前で作成されます。Replicatのプロパティで使用するため、このディレクトリを書き留めてください。次に例を示します:/home/oracle/ggdaa23_home/opt/DependencyDownloader/dependencies/azure-storage-blob_12.13.0
8.12.3 Oracle GoldenGate for Distributed Applications and AnalyticsでのReplicatの作成
Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)でReplicatを作成するには:
- GG for DAA UIの「管理サービス」タブで、「+」記号をクリックしてReplicatを追加します。
図8-84 「管理サービス」タブの「+」をクリックします。
- 「クラシックReplicat」のReplicatのタイプを選択し、「次へ」をクリックします。クラシックと調整済という2つの異なるReplicatタイプがあります。クラシックReplicatは単一のスレッド・プロセスですが、調整済Replicatは、トランザクションをパラレルに適用するマルチスレッド・プロセスです。
図8-85 Replicatオプションの選択
- Replicatオプションを入力し、「次」をクリックします。
- トレイル名: 必要な証跡ファイルの名前(サンプル証跡を使用している場合は、trと指定します)
- サブディレクトリ: サンプル証跡を使用する場合は、
GG_HOME/opt/AdapterExamples/trail/
と入力します。 - ターゲット: Databricks
- 使用可能なステージングの場所: Azure Data Lake Storage
図8-86 Replicatオプションの指定とターゲットの選択
- 「管理対象オプション」はそのままにして、「次」をクリックします。
図8-87 管理対象オプション
- 「パラメータ・ファイル」の詳細を入力し、「次へ」をクリックします。「パラメータ・ファイル」では、ソースからターゲットへのマッピングを指定できます。サンプル証跡ファイル(tr)を使用している場合は、次のように指定します:
MAP QASOURCE.*, TARGET <your_schema_name>.*;
図8-88 パラメータ・ファイル
- 「プロパティ・ファイル」で、TODOとマークされているプロパティを更新し、「作成および実行」をクリックします。
# Properties file for Replicat DBRDELTA # Configuration to load GoldenGate trail operation records into Databricks using ADLS Gen2 stage. # Note: Recommended to only edit the configuration marked as TODO gg.target=databricks gg.stage=abs # Azure Blob Event handler. #TODO: Edit Azure connection settings gg.eventhandler.abs.bucketMappingTemplate=<azure_adls_gen2_container_name> gg.eventhandler.abs.accountName=<azure_storage_account_name> gg.eventhandler.abs.accountKey=<azure_storage_account_key> # Databricks Event Handler.
Databricks JDBCを編集します:#TODO: Edit JDBC ConnectionUrl gg.eventhandler.databricks.connectionURL=jdbc:databricks://<server-hostname>:443;httpPath=<http-path>[;<setting1>=<value1>;<setting2>=<value2>;<settingN>=<valueN>];EnableArrow=0 #TODO: Edit JDBC username or 'token' gg.eventhandler.databricks.UserName=token #TODO: Edit JDBC password gg.eventhandler.databricks.Password=<password>
前提条件でダウンロードした依存性jarファイルへのパスを指定します#TODO: Edit the classpath to include Azure Blob Event Handler dependencies and Databricks JDBC driver. gg.classpath=/path/to/abs_dependencies/*: path/to/databricks_dependencies/* #TODO: Provide sufficient memory (at least 8GB). jvm.bootoptions=-Xmx8g -Xms1g
図8-89 プロパティ・ファイル
Replicat構成の詳細は、「Databricks」を参照してください。
Replicatが正常に起動されると、それが実行状態になります。なお、デフォルトではバッチ期間は3分に設定されています。データがDatabricksにロードされるまでに少し時間がかかる場合があります。「アクション」/「詳細」/「統計」に移動して、レプリケーション統計を確認できます。図8-90 レプリケーション統計
- Databricksに移動して表を確認できます。表の作成とロードには、少し時間がかかる場合があります。
図8-91 Databricksの表
ノート:
詳細は、「Databricks」を参照してください。