8.7 Oracle GoldenGate for Distributed Applications and Analytics 23.8以降によるAzure Data Lake StorageへのリアルタイムParquet取込み

概要

このクイックスタートでは、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)を使用してリアルタイムでAzure Storageコンテナにparquetファイルを取り込む方法を手順を追って説明します。

Azure Data Lake Storage (ADLS)は、構造化データと非構造化データの両方をすべて格納できる、Azureで提供されている一元化されたリポジトリです。

GG for DAAのADLSハンドラは、ファイル・ライター・ハンドラおよびParquetハンドラ(parquetが必要な場合)と連携して機能します。ファイル・ライター・ハンドラによってファイルはローカルに生成されます。オプションで、Parquetハンドラによりparquet形式に変換され、ADLSハンドラによりAzure Storageコンテナにロードされます。

GG for DAAでは、ADLS接続のための様々な代替方法が提供されています。このクイックスタートでは、接続にBLOBエンドポイントを使用します。

.

8.7.1 前提条件

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

  • Azure Storageアカウントおよびコンテナ
  • Azure Storageアカウントのログイン資格証明

このクイックスタートでは、GG for DAAに付属のサンプル証跡ファイル(trなど)を使用します。サンプル証跡ファイルを使用して続行する場合、それはGG for DAAインスタンスのGG_HOME/opt/AdapterExamples/trailにあります。

8.7.2 必要な依存性ファイルのインストール

GG for DAAでは、レプリケーション・プロセスでクライアント・ライブラリが使用されるため、これらのライブラリを、レプリケーション・プロセスを設定する前にダウンロードする必要があります。依存性ダウンローダを使用してそれらのクライアント・ライブラリをダウンロードできます。依存性ダウンローダは、Mavenおよび他のリポジトリから依存性jarファイルをダウンロードするシェル・スクリプトのセットです。
  • GG for DAAでは、3ステップのプロセスを使用して、Azure Storageコンテナにparquetを取り込みます:
  • 証跡ファイルからローカル・ファイルを生成します
  • ローカル・ファイルをParquet形式に変換します
  • Azure Storageコンテナにファイルをロードします
GG for DAAを使用してローカルparquetファイルを生成する場合は、Replicatで、ファイル・ライター・ハンドラおよびParquetハンドラが使用されます。GG for DAAでは、Azure Storageにparquetファイルをロードするために、Azure BLOBハンドラが、ファイル・ライターおよびParquetイベント・ハンドラとともに使用されます。GG for DAAでは、3つの異なるクライアント・ライブラリ・セットを使用してparquetファイルが作成され、Azure Storageにロードされます。
  1. GG for DAA VMで、依存性ダウンローダ・ユーティリティに移動します。それはGG_HOME/opt/DependencyDownloader/にあります。
  2. 必要なバージョンを指定してparquet.shhadoop.shおよびazure_blob_storage.shを実行します。

    図8-43 必要な依存性ファイルのインストール

    必要な依存性ファイルをインストールします
  3. 3つのディレクトリがGG_HOME/opt/DependencyDownloader/dependenciesに作成されます。これらのディレクトリを書き留めます。
    たとえば:
    /u01/app/ogg/opt/DependencyDownloader/dependencies/azure_blob_storage_12.21.2
    /u01/app/ogg/opt/DependencyDownloader/dependencies/hadoop_3.3.0
    /u01/app/ogg/opt/DependencyDownloader/dependencies/parquet_1.12.3 

8.7.3 Oracle GoldenGate for Distributed Applications and AnalyticsでのReplicatの作成

  1. 「管理サービス」に移動し、「+」記号をクリックしてReplicatを追加します。

    図8-44 管理サービス

    「管理サービス」に移動し、「+」記号をクリックしてReplicatを追加します。
  2. 「Replicatタイプ」を選択し、「プロセス名」を指定して「次」をクリックします。

    「クラシック」「調整済」という2つの異なるReplicatタイプがあります。クラシックReplicatは単一のスレッド・プロセスですが、調整済Replicatは、トランザクションをパラレルに適用するマルチスレッド・プロセスです。

    図8-45 Replicatの追加

    Replicatの追加
  3. 「Replicatオプション」を入力して「次」をクリックします。
    • Replicatトレイル: 必要な証跡ファイルの名前。サンプル証跡の場合は、trを指定します。
    • サブディレクトリ: サンプル証跡を使用する場合は、GG_HOME/opt/AdapterExamples/trail/と指定します。
    • ターゲット: Azure Data Lake Storage
    • 形式: 形式を選択します

    図8-46 Replicatオプション

    Replicatオプションを入力します。
  4. 「管理対象オプション」はそのままにして、「次」をクリックします。

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

    「管理対象オプション」はそのままにします。
  5. 「パラメータ・ファイル」の詳細を指定し、「次」をクリックします。

    「パラメータ・ファイル」では、ソースからターゲットへのマッピングを指定するか、ワイルドカード選択でそのままにしておくことができます。「Replicatタイプ」として「調整済Replicat」を選択した場合は、さらに次のパラメータを指定する必要があります: TARGETDB LIBFILE libggjava.so SET property=<ggbd-deployment_home>/etc/conf/ogg/your_replicat_name.properties

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

    「パラメータ・ファイル」を使用して、replicatパラメータと、ソースからターゲットへのマッピングを構成します。
  6. プロパティ・ファイルで、#TODOとマークされているプロパティを更新し、「作成および実行」をクリックします。
    # Properties file for Replicat 
    
    # Configuration to load GoldenGate trail operation records
    # into Azure Data Lake Storage by chaining
    # File writer handler -> Azure Blob Event handler.
    # Note: Recommended to only edit the configuration marked as TODO
    
    gg.target=abs
    
    #TODO: format can be 'parquet' or 'orc' or one of the pluggable formatter types. Default is 'parquet'.
    gg.format=parquet
    
    #TODO: Edit the Azure Blob Storage container name
    gg.eventhandler.abs.bucketMappingTemplate=<abs-container-name>
    #TODO: Edit the Azure storage account name.
    gg.eventhandler.abs.accountName=<storage-account-name>
    #TODO: Edit the Azure storage account key.
    #gg.eventhandler.abs.accountKey=<storage-account-key>
    #TODO: Edit the Azure shared access signature(SAS) to authenticate to an Azure Service.
    #gg.eventhandler.abs.sasToken=<sas-token>
    #TODO: Edit the the tenant ID of the application.
    gg.eventhandler.abs.tenantId=<azure-tenant-id>
    #TODO: Edit the the client ID of the application.
    gg.eventhandler.abs.clientId=<azure-client-id>
    #TODO: Edit the the client secret for the authentication.
    gg.eventhandler.abs.clientSecret=<azure-client-secret>
    gg.classpath=/path/to/abs-deps/*:/path/to/hadoop-deps/:/path/to/parquet_deps/*
    #TODO: Edit the proxy configuration.
    #jvm.bootoptions=-Dhttps.proxyHost=some-proxy-address.com -Dhttps.proxyPort=80 -Djava.net.useSystemProxies=true
    
  7. Replicatが正常に起動すると、実行状態になります。「Replicat」/「統計」に移動してレプリケーション統計を確認できます。

    図8-49 レプリケーション統計

    「Replicat」/「統計」に移動してレプリケーション統計を確認します。
  8. Azure Storageコンソールに移動してコンテナを確認できます。

    図8-50 Azure Storageコンソール

    Azure Storageコンソールに移動してコンテナを確認します。

ノート:

  • ターゲットのAzureコンテナが存在しない場合は、GG for DAAによって自動作成されます。テンプレート・キーワードを使用してコンテナ名を動的に割り当てることができます。
  • ABSイベント・ハンドラをプロキシ・サーバー用に構成できます。詳細は、「データの複製」を参照してください。
  • 様々なプロパティを使用して、ファイル書込みの動作を制御できます。ファイル・サイズ、非アクティブ期間などを設定できます。詳細は、ファイル・ライターのブログ投稿を参照してください。