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では、3ステップのプロセスを使用して、Azure Storageコンテナにparquetを取り込みます:
- 証跡ファイルからローカル・ファイルを生成します
- ローカル・ファイルをParquet形式に変換します
- Azure Storageコンテナにファイルをロードします
- GG for DAA VMで、依存性ダウンローダ・ユーティリティに移動します。それは
GG_HOME/opt/DependencyDownloader/
にあります。 - 必要なバージョンを指定して
parquet.sh
、hadoop.sh
およびazure_blob_storage.sh
を実行します。図8-43 必要な依存性ファイルのインストール
- 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の作成
- 「管理サービス」に移動し、「+」記号をクリックしてReplicatを追加します。
図8-44 管理サービス
- 「Replicatタイプ」を選択し、「プロセス名」を指定して「次」をクリックします。
「クラシック」と「調整済」という2つの異なるReplicatタイプがあります。クラシックReplicatは単一のスレッド・プロセスですが、調整済Replicatは、トランザクションをパラレルに適用するマルチスレッド・プロセスです。
図8-45 Replicatの追加
- 「Replicatオプション」を入力して「次」をクリックします。
- Replicatトレイル: 必要な証跡ファイルの名前。サンプル証跡の場合は、
tr
を指定します。 - サブディレクトリ: サンプル証跡を使用する場合は、
GG_HOME/opt/AdapterExamples/trail/
と指定します。 - ターゲット: Azure Data Lake Storage
- 形式: 形式を選択します
図8-46 Replicatオプション
- Replicatトレイル: 必要な証跡ファイルの名前。サンプル証跡の場合は、
- 「管理対象オプション」はそのままにして、「次」をクリックします。
図8-47 管理対象オプション
- 「パラメータ・ファイル」の詳細を指定し、「次」をクリックします。
「パラメータ・ファイル」では、ソースからターゲットへのマッピングを指定するか、ワイルドカード選択でそのままにしておくことができます。「Replicatタイプ」として「調整済Replicat」を選択した場合は、さらに次のパラメータを指定する必要があります:
TARGETDB LIBFILE libggjava.so SET property=<ggbd-deployment_home>/etc/conf/ogg/your_replicat_name.properties
。図8-48 パラメータ・ファイル
- プロパティ・ファイルで、#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
- Replicatが正常に起動すると、実行状態になります。「Replicat」/「統計」に移動してレプリケーション統計を確認できます。
図8-49 レプリケーション統計
- Azure Storageコンソールに移動してコンテナを確認できます。
図8-50 Azure Storageコンソール
ノート:
- ターゲットのAzureコンテナが存在しない場合は、GG for DAAによって自動作成されます。テンプレート・キーワードを使用してコンテナ名を動的に割り当てることができます。
- ABSイベント・ハンドラをプロキシ・サーバー用に構成できます。詳細は、「データの複製」を参照してください。
- 様々なプロパティを使用して、ファイル書込みの動作を制御できます。ファイル・サイズ、非アクティブ期間などを設定できます。詳細は、ファイル・ライターのブログ投稿を参照してください。