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イベント・ハンドラとともに使用されます。

  1. GG for DAA VMで、依存性ダウンローダ・ユーティリティに移動します。それはGG_HOME/opt/DependencyDownloader/にあります。
  2. 必要なバージョンを指定してparquet.shhadoop.shおよびgcs.shを実行します。バージョンおよび報告されている脆弱性は、Maven Centralで確認できます。

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

    必要な依存性ファイルをインストールします
  3. 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の作成

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

    図8-12 管理サービス

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

    図8-13 Replicatタイプ

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

    図8-14 Replicatオプション

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

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

    「管理対象オプション」はそのままにして、「次」をクリックします。
  5. 「パラメータ・ファイル」の詳細を指定し、「次」をクリックします。「パラメータ・ファイル」では、ソースからターゲットへのマッピングを指定するか、ワイルドカード選択でそのままにしておくことができます。「Replicatタイプ」として「調整済Replicat」を選択した場合は、さらに次のパラメータを指定する必要があります:

    TARGETDB LIBFILE libggjava.so SET property=<ggbd-deployment_home>/etc/conf/ogg/your_replicat_name.properties

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

    パラメータ・ファイルの詳細を入力します。
  6. 「プロパティ・ファイル」で、#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/*
    
  7. Replicatが正常に起動されると、それが実行状態になります。「Replicat」/「統計」に移動してレプリケーション統計を確認できます。

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

    レプリケーション統計を確認します。
  8. GCP Cloud Storageバケットに移動してそれらのファイルを確認できます。

    図8-18 Google Cloud Storageバケット

    GCP Cloud Storageバケットに移動してそれらのファイルを確認します。

ノート: