8.3 GoldenGate for Distributed Applications and Analytics 23.8以降によるGoogle Cloud StorageへのリアルタイムParquet取込み
このクイックスタートでは、GoldenGate for Distributed Applications and Analytics (GG for DAA)を使用してリアルタイムでGoogle Cloud Storageバケットにparquetファイルを取り込む方法を手順を追って説明します。
このクイックスタートは、GG for DAA 23.7以降のバージョンに対して有効です。
Google Cloud Storage (GCS)は、Google Cloud Platformにオブジェクトを格納するためのサービスです。
GG for DAAのGCSハンドラは、ファイル・ライター・ハンドラおよびParquetハンドラ(parquetが必要な場合)と連携して機能します。ファイル・ライター・ハンドラによってファイルがローカルに生成され、オプションでParquetハンドラによりparquet形式に変換され、GCSハンドラによりGCSバケットにロードされます。
親トピック: クイックスタート
8.3.1 前提条件
このクイックスタートを正常に完了するには、次のものが必要です:
- Google Cloud Storageバケット
- バケット権限とオブジェクト権限があるGoogleサービス・アカウント・キー詳細は、「データの複製」を参照してください
- バケットへのパブリック・アクセス(GG for DAAではプライベート・バケット・アクセスがサポートされています。詳細はGG for DAAドキュメントを参照してください)
このクイックスタートでは、GG for DAAに付属のサンプル証跡ファイル(tr
など)を使用します。サンプル証跡ファイルを使用して続行する場合、それはGG for DAAインスタンスのGG_HOME/opt/AdapterExamples/trail/
にあります。
8.3.2 必要な依存性ファイルのインストール
GG for DAAでは、レプリケーション・プロセスでクライアント・ライブラリが使用されるため、これらのライブラリを、レプリケーション・プロセスを設定する前にダウンロードする必要があります。依存性ダウンローダを使用してそれらのクライアント・ライブラリをダウンロードできます。依存性ダウンローダは、Mavenおよび他のリポジトリから依存性jarファイルをダウンロードするシェル・スクリプトのセットです。
GG for DAAでは、3ステップのプロセスを使用して、GCSバケットにparquetを取り込みます:
- 証跡ファイルからローカル・ファイルを生成します
- ローカル・ファイルをParquet形式に変換します
- GCSにファイルをロードします
GG for DAAを使用してローカルparquetファイルを生成する場合は、Replicatで、ファイル・ライター・ハンドラおよびParquetハンドラが使用されます。GG for DAAでは、GCSにparquetファイルをロードするために、Google Cloud Storageハンドラが、ファイル・ライターおよびParquetイベント・ハンドラとともに使用されます。
- GG for DAA VMで、依存性ダウンローダ・ユーティリティに移動します。それは
GG_HOME/opt/DependencyDownloader/
にあります。 - 必要なバージョンを指定して
parquet.sh
、hadoop.sh
およびgcs.sh
を実行します。バージョンおよび報告されている脆弱性は、Maven Centralで確認できます。図8-11 必要な依存性ファイルのインストール
- 3つのディレクトリが
GG_HOME/opt/DependencyDownloader/dependencies
に作成されます。ディレクトリを書き留めます。たとえば:/u01/app/ogg/opt/DependencyDownloader/dependencies/gcs_12.29.1
/u01/app/ogg/opt/DependencyDownloader/dependencies/hadoop_3.3.0
/u01/app/ogg/opt/DependencyDownloader/dependencies/parquet_1.12.3
8.3.3 Oracle GoldenGate for Distributed Applications and AnalyticsでのReplicatの作成
- 「管理サービス」に移動し、「+」記号をクリックしてReplicatを追加します。
図8-12 管理サービス
- 「Replicatタイプ」を選択し、「プロセス名」を入力して「次」をクリックします。クラシックと調整済という2つの異なるReplicatタイプがあります。クラシックReplicatは単一のスレッド・プロセスですが、調整済Replicatは、トランザクションをパラレルに適用するマルチスレッド・プロセスです。
図8-13 Replicatタイプ
- 「Replicatオプション」を入力して「次」をクリックします。
- Replicatトレイル: 必要な証跡ファイルの名前。サンプル証跡の場合は、
tr
と入力します。 - サブディレクトリ: サンプル証跡を使用する場合は、
GG_HOME/opt/AdapterExamples/trail/
と入力します。 - ターゲット: Google Cloud Storage
- 形式: ファイル形式を選択します
図8-14 Replicatオプション
- Replicatトレイル: 必要な証跡ファイルの名前。サンプル証跡の場合は、
- 「管理対象オプション」はそのままにして、「次」をクリックします。
図8-15 管理対象オプション
- 「パラメータ・ファイル」の詳細を指定し、「次」をクリックします。「パラメータ・ファイル」では、ソースからターゲットへのマッピングを指定するか、ワイルドカード選択でそのままにしておくことができます。「Replicatタイプ」として「調整済Replicat」を選択した場合は、さらに次のパラメータを指定する必要があります:
TARGETDB LIBFILE libggjava.so SET property=<ggbd-deployment_home>/etc/conf/ogg/your_replicat_name.properties
図8-16 パラメータ・ファイル
- 「プロパティ・ファイル」で、#TODOとマークされているプロパティを更新し、「作成および実行」をクリックします。たとえば:
# Properties file for Replicat gg.target=gcs #TODO: format can be 'parquet' or 'orc' or one of the pluggable formatter types. Default is 'parquet'. gg.format=parquet #The GCS Event handler gg.eventhandler.gcs.pathMappingTemplate=${fullyQualifiedTableName} #TODO: Edit the GCS bucket name gg.eventhandler.gcs.bucketMappingTemplate=<gcs-bucket-name> #TODO: Edit the GCS credentialsFile gg.eventhandler.gcs.credentialsFile=/path/to/gcp/credentialsFile gg.eventhandler.gcs.finalizeAction=none #TODO: Edit to include the GCS Java SDK. gg.classpath=/path/to/gcs-deps/:/path/to/hadoop-deps/:/path/to/parquet_deps/*
- Replicatが正常に起動されると、それが実行状態になります。「Replicat」/「統計」に移動してレプリケーション統計を確認できます。
図8-17 レプリケーション統計
- GCP Cloud Storageバケットに移動してそれらのファイルを確認できます。
図8-18 Google Cloud Storageバケット
ノート:
- ターゲットのGCSバケットが存在しない場合は、GG for DAAによってそれが自動作成されます。テンプレート・キーワードを使用してコンテナ名を動的に割り当てることができます。
- GCSイベント・ハンドラをプロキシ・サーバー用に構成できます。詳細は、「Google Cloud Storageイベント・ハンドラ構成」を参照してください。