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の外部の場所です。

8.12.1 Unity Catalogを使用したDatabricksレプリケーションの前提条件

このクイックスタートを正常に完了するには、次のものが必要です:

このクイックスタートでは、GG for DAAに付属のサンプル証跡ファイル(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ファイルをダウンロードするシェル・スクリプトのセットです。

  1. GG for DAA VMで、依存性ダウンローダ・ユーティリティに移動します。それはGG_HOME/opt/DependencyDownloader/にあります。databricks.shを見つけてください。
  2. 必要なバージョンを指定してdatabricks.shを実行します。バージョンおよび報告されている脆弱性は、Maven Centralで確認できます。このドキュメントでは、このクイックスタートの公開時の最新バージョンである2.6.38を使用しています。
  3. 新しいディレクトリが、GG_HOME/opt/DependencyDownloader/dependenciesに、<databricks_jdbc_version>という名前で作成されます。Replicatのプロパティで使用するため、このディレクトリを書き留めてください。たとえば、 /u01/app/ogg/opt/DependencyDownloader/dependencies/databricks-jdbc-2.6.36です。

    図8-82 必要なバージョンを指定したdatabricks.shの実行

    必要なバージョンを指定してdatabricks.shを実行します。
  4. Azure Storage依存性についても、同じ手順に従います。azure_blob_storage.shを実行して、Azure Storage依存性をダウンロードできます。

    図8-83 Azure Storage依存性をダウンロードするためのazure_blob_storage.shの実行

    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を作成するには:

  1. GG for DAA UIの「管理サービス」タブで、「+」記号をクリックしてReplicatを追加します。

    図8-84 「管理サービス」タブの「+」をクリックします。

    「管理サービス」タブの「+」をクリックします。
  2. 「クラシックReplicat」のReplicatのタイプを選択し、「次へ」をクリックします。クラシックと調整済という2つの異なるReplicatタイプがあります。クラシックReplicatは単一のスレッド・プロセスですが、調整済Replicatは、トランザクションをパラレルに適用するマルチスレッド・プロセスです。

    図8-85 Replicatオプションの選択

    Replicatオプションを選択します。
  3. Replicatオプションを入力し、「次」をクリックします。
    1. トレイル名: 必要な証跡ファイルの名前(サンプル証跡を使用している場合は、trと指定します)
    2. サブディレクトリ: サンプル証跡を使用する場合は、GG_HOME/opt/AdapterExamples/trail/と入力します。
    3. ターゲット: Databricks
    4. 使用可能なステージングの場所: Azure Data Lake Storage

      図8-86 Replicatオプションの指定とターゲットの選択

      Replicatオプションの指定とターゲットの選択
  4. 「管理対象オプション」はそのままにして、「次」をクリックします。

    図8-87 管理対象オプション

    管理対象オプション
  5. 「パラメータ・ファイル」の詳細を入力し、「次へ」をクリックします。「パラメータ・ファイル」では、ソースからターゲットへのマッピングを指定できます。サンプル証跡ファイル(tr)を使用している場合は、次のように指定します: MAP QASOURCE.*, TARGET <your_schema_name>.*;

    図8-88 パラメータ・ファイル

    パラメータ・ファイル
  6. 「プロパティ・ファイル」で、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 レプリケーション統計

    レプリケーション統計
  7. Databricksに移動して表を確認できます。表の作成とロードには、少し時間がかかる場合があります。

    図8-91 Databricksの表

    Databricksの表

ノート:

詳細は、「Databricks」を参照してください。