8.9 Oracle GoldenGate for Distributed Applications and Analytics 23.8以降によるOCIオブジェクト・ストレージへのリアルタイムParquet取込み
このクイックスタートでは、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)を使用してリアルタイムでOCIオブジェクト・ストレージ・バケットにparquetファイルを取り込む方法を手順を追って説明します。
OCIオブジェクト・ストレージは、Oracle Cloud Infrastructure(OCI)によって提供されている、スケーラブルで高パフォーマンスのストレージ・サービスです。これを使用すると、大量の非構造化データ(イメージ、ビデオ、ログ・ファイル、バックアップ、その他のタイプのファイルなど)を格納し管理できます。
GG for DAAのOCIオブジェクト・ストレージ・ハンドラは、ファイル・ライター・ハンドラおよびParquetハンドラ(parquetが必要な場合)と連携して機能します。ファイル・ライター・ハンドラによってファイルがローカルに生成され、オプションでParquetハンドラによりparquet形式に変換され、OCIオブジェクト・ストレージ・ハンドラによりOCIオブジェクト・ストレージ・バケットにロードされます。
- 前提条件
- 必要な依存性ファイルのインストール
- Oracle Cloud Infrastructureの資格証明の構成
- Oracle GoldenGate for Distributed Applications and AnalyticsでのReplicatの作成
親トピック: クイックスタート
8.9.1 前提条件
このクイックスタートを正常に完了するには、次のものが必要です:
- OCIオブジェクト・ストレージへのアクセス
このクイックスタートでは、GG for DAAに付属のサンプル証跡ファイル(tr
という名前)を使用します。サンプル証跡ファイルを使用して続行する場合、それはGG for DAAインスタンスのGG_HOME/opt/AdapterExamples/trail/
にあります。
8.9.2 必要な依存性ファイルのインストール
GG for DAAでは、レプリケーション・プロセスでクライアント・ライブラリが使用されるため、これらのライブラリを、レプリケーション・プロセスを設定する前にダウンロードする必要があります。依存性ダウンローダを使用してそれらのクライアント・ライブラリをダウンロードできます。依存性ダウンローダは、Mavenおよび他のリポジトリから依存性jarファイルをダウンロードするシェル・スクリプトのセットです。
- GG for DAAでは、3ステップのプロセスを使用して、OCIオブジェクト・ストレージ・バケットにparquetを取り込みます:
- 証跡ファイルからローカル・ファイルを生成します
- ローカル・ファイルをParquet形式に変換します
- OCIオブジェクト・ストレージ・バケットにファイルをロードします
GG for DAAを使用してローカルparquetファイルを生成する場合は、Replicatで、ファイル・ライター・ハンドラおよびParquetハンドラが使用されます。GG for DAAでは、parquetファイルをロードするために、OCIイベント・ハンドラが、ファイル・ライターおよびParquetイベント・ハンドラとともに使用されます。
GG for DAAでは、3つの異なるクライアント・ライブラリ・セットを使用してparquetファイルが作成され、AWS S3にロードされます。
- GG for DAA VMで、依存性ダウンローダ・ユーティリティに移動します。それは
GG_HOME/opt/DependencyDownloader/
にあります - 必要なバージョンを指定して
parquet.sh
、hadoop.sh
およびoracle_oci.sh
を実行します。図8-59 必要な依存性ファイルのインストール
- 3つのディレクトリが
GG_HOME/opt/DependencyDownloader/dependencies
に作成されます。これらのディレクトリを書き留めます。/u01/app/ogg/opt/DependencyDownloader/dependencies/oracle_oci_3.2.0/*:
/u01/app/ogg/opt/DependencyDownloader/dependencies/hadoop_3.3.0/*:
/u01/app/ogg/opt/DependencyDownloader/dependencies/parquet_1.12.3/*
8.9.3 Oracle Cloud Infrastructureの資格証明の構成
OCIへの認証のために構成ファイルを作成する必要があります。理想的な構成ファイルには、user、fingerprint、key_file、tenancyおよびregionとそれぞれの値が含まれています。デフォルトの構成ファイルの名前と場所は、~/.oci/config
です。詳細は、「必要なキーとOCID」を参照してください。
サンプル構成ファイル
[DEFAULT] user=<your_user_ocid> fingerprint=<your_fingerprint> key_file=~/.oci/oci_api_key.pem #path-to_your_key_file tenancy=<your_tenancy_ocid>
8.9.4 Oracle GoldenGate for Distributed Applications and AnalyticsでのReplicatの作成
- 「管理サービス」に移動し、「+」記号をクリックしてReplicatを追加します。
図8-60 管理サービス
- 「Replicatタイプ」を選択して「次」をクリックします
クラシックと調整済という2つの異なるReplicatタイプがあります。クラシックReplicatは単一のスレッド・プロセスですが、調整済Replicatは、トランザクションをパラレルに適用するマルチスレッド・プロセスです。調整済Replicatでは、マルチスレッド・プロセスが実行されているため、複数のファイルが作成されます。
図8-61 Replicat情報
- 「Replicatオプション」を入力して「次」をクリックします。
- Replicatトレイル: 必要な証跡ファイルの名前。サンプル証跡の場合は、
tr
を指定します。 - サブディレクトリ: サンプル証跡を使用する場合は、
GG_HOME/opt/AdapterExamples/trail/
と入力します。 - ターゲット: OCIオブジェクト・ストレージ
- 形式: ファイル形式を選択します。
図8-62 Replicatオプション
- Replicatトレイル: 必要な証跡ファイルの名前。サンプル証跡の場合は、
- 「管理対象オプション」はそのままにして、「次」をクリックします。
図8-63 管理対象オプション
- 「パラメータ・ファイル」の詳細を入力し、「次へ」をクリックします。
「パラメータ・ファイル」では、ソースからターゲットへのマッピングを指定するか、ワイルドカード選択でそのままにしておくことができます。「Replicatタイプ」として「調整済Replicat」を選択した場合は、さらに次のパラメータを指定する必要があります:
TARGETDB LIBFILE libggjava.so SET property=<ggbd-deployment_home>/etc/conf/ogg/your_replicat_name.properties
図8-64 パラメータ・ファイル
- 「プロパティ・ファイル」で、#TODOとマークされているプロパティを更新し、「作成および実行」をクリックします。
# Properties file for Replicat # Configuration to load GoldenGate trail operation records # into OCI Object storage by chaining # File writer handler -> OCI Event handler. # Note: Recommended to only edit the configuration marked as TODO gg.target=oci #TODO: format can be 'parquet' or 'orc' or one of the pluggable formatter types. Default is 'parquet'. gg.format=parquet #TODO: Edit the OCI region gg.eventhandler.oci.region=<oci-region> #TODO: Edit the OCI compartment OCID gg.eventhandler.oci.compartmentID=<oci-compartment-ocid> #TODO: Edit the OCI bucket name gg.eventhandler.oci.bucketMappingTemplate=<oci-bucket-name> #TODO: Edit the OCI Config file path gg.eventhandler.oci.configFilePath=./oci/config #TODO: Edit to include the OCI Java SDK. gg.classpath= ./oci-java-sdk/lib/*:./oci-java-sdk/third-party/lib/*:/path/to/hadoop-deps/:/path/to/parquet_deps/*
- Replicatが正常に起動されると、それが実行状態になります。action/details/statisticsに移動して、レプリケーション統計を確認します
図8-65 レプリケーション統計
- OCIコンソールに移動してバケットを確認します。
図8-66 OCIコンソール
ノート:
- ターゲットのOCIオブジェクト・ストレージ・バケットが存在しない場合は、GG for DAAによって自動作成されます。テンプレート・キーワードを使用してOCIバケット名を動的に割り当てることができます。
- OCIオブジェクト・ストレージ・イベント・ハンドラをプロキシ・サーバー用に構成できます。詳細は、OCIオブジェクト・ストレージ・イベント・ハンドラを参照してください。
- 様々なプロパティを使用して、ファイル書込みの動作を制御できます。ファイル・サイズ、非アクティブ期間などを設定できます。詳細は、ファイル・ライターのブログ投稿を参照してください。