7.5 Oracle GoldenGate for Distributed Applications and AnalyticsによるAWS S3バケットへのリアルタイムParquet取込み
このトピックでは、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)を使用してリアルタイムでAWS S3バケットにparquetファイルを取り込む方法を手順を追って説明します。
7.5.1 依存性ファイルのインストール
Oracle GoldenGate for Big Dataは、レプリケーション・プロセスでクライアント・ライブラリを使用します。レプリケーション・プロセスを設定する前に、Oracle GoldenGate for Big Dataで使用可能な依存性ダウンローダ・ユーティリティを使用してこれらのライブラリをダウンロードする必要があります。依存性ダウンローダは、Mavenおよび他のリポジトリから依存性jarファイルをダウンロードするシェル・スクリプトのセットです。
Oracle GoldenGate for Big Dataでは、3ステップのプロセスを使用して、ParquetをS3バケットに収集します:- 証跡ファイルからローカル・ファイルを生成します(これらのローカル・ファイルはOCI GoldenGateではアクセスできません)
- ローカル・ファイルをParquet形式に変換します
- AWS S3バケットにファイルをロードします
Oracle GoldenGate for Big Dataでは、3つの異なるクライアント・ライブラリ・セットを使用してParquetファイルを作成し、AWS S3にロードします。
必要な依存性ファイルをインストールするには:
- 依存性ダウンローダのインストール場所に移動します:
GG_HOME/opt/DependencyDownloader/
。 parquet.sh
(「Parquet」を参照)、hadoop.sh
(「HDFSイベント・ハンドラ」およびaws.sh
を必要なバージョンで実行します。ディレクトリはGG_HOME/opt/DependencyDownloader/dependencies
に作成されます。たとえば、/u01/app/ogg/opt/DependencyDownloader/dependencies/aws_sdk_1.12.30
です。図7-26 必要なバージョンでparquet.sh、hadoop.shおよびaws.shaを実行します。
GG_HOME/opt/DependencyDownloader/dependencies
に作成されます:/u01/app/ogg/opt/DependencyDownloader/dependencies/aws_sdk_1.12.309
/u01/app/ogg/opt/DependencyDownloader/dependencies/hadoop_3.3.0
/u01/app/ogg/opt/DependencyDownloader/dependencies/parquet_1.12.3
図7-27 S3ディレクトリ
7.5.2 Oracle GoldenGate for Big DataでのReplicatの作成
Oracle GoldenGate for Big DataでReplicatを作成するには:
- Oracle GoldenGate for Big Data UIの「管理サービス」タブで、「+」記号をクリックしてReplicatを追加します。
図7-28 「管理サービス」タブの「+」をクリックします。
- Replicatのタイプを選択して、「次へ」をクリックします。
ここには、クラシックと調整済の2つの異なるReplicatタイプがあります。クラシックReplicatは単一のスレッド・プロセスですが、調整済Replicatは、トランザクションをパラレルに適用するマルチスレッド・プロセスです。
図7-29 Replicatのタイプを選択して、「次へ」をクリックします。
- 基本情報を入力し、「次へ」をクリックします:
- プロセス名: Replicatの名前
- 証跡名: 必要な証跡ファイルの名前
- ターゲット: このフィールドに入力しないでください。
図7-30 プロセス名、証跡名およびターゲット名
- 「パラメータ・ファイル」の詳細を入力し、「次へ」をクリックします。「パラメータ・ファイル」では、ソースからターゲットへのマッピングを指定するか、ワイルドカード選択でそのままにしておくことができます。Replicatタイプとして「調整済Replicat」を選択した場合は、次の追加パラメータを指定します:
TARGETDB LIBFILE libggjava.so SET property=<ggbd-deployment_home>/etc/conf/ogg/your_replicat_name.properties
図7-31 「パラメータ・ファイル」の詳細を指定し、「次へ」をクリックします。
- 次のプロパティ・リストをプロパティ・ファイルにコピー・アンド・ペーストし、必要に応じて更新し、「作成および実行」をクリックします。
#The File Writer Handler – no need to change gg.handlerlist=filewriter gg.handler.filewriter.type=filewriter gg.handler.filewriter.mode=op gg.handler.filewriter.pathMappingTemplate=./dirout gg.handler.filewriter.stateFileDirectory=./dirsta gg.handler.filewriter.fileRollInterval=7m gg.handler.filewriter.inactivityRollInterval=30s gg.handler.filewriter.fileWriteActiveSuffix=.tmp gg.handler.filewriter.finalizeAction=delete ### Avro OCF – no need to change gg.handler.filewriter.format=avro_row_ocf gg.handler.filewriter.fileNameMappingTemplate=${groupName}_${fullyQualifiedTableName}_${currentTimestamp}.avro gg.handler.filewriter.format.pkUpdateHandling=delete-insert gg.handler.filewriter.format.metaColumnsTemplate=${optype},${position} gg.handler.filewriter.format.iso8601Format=false gg.handler.filewriter.partitionByTable=true gg.handler.filewriter.rollOnShutdown=true #The Parquet Event Handler – no need to change gg.handler.filewriter.eventHandler=parquet gg.eventhandler.parquet.type=parquet gg.eventhandler.parquet.pathMappingTemplate=./dirparquet gg.eventhandler.parquet.fileNameMappingTemplate=${groupName}_${fullyQualifiedTableName}_${currentTimestamp}.parquet gg.eventhandler.parquet.writeToHDFS=false gg.eventhandler.parquet.finalizeAction=delete #TODO Select S3 Event Handler – no need to change gg.eventhandler.parquet.eventHandler=s3 #TODO Set S3 Event Handler- please update as needed gg.eventhandler.s3.type=s3 gg.eventhandler.s3.region=your-aws-region gg.eventhandler.s3.bucketMappingTemplate=target s3 bucketname gg.eventhandler.s3.pathMappingTemplate=ogg/data/${fullyQualifiedTableName} gg.eventhandler.s3.accessKeyId=XXXXXXXXX gg.eventhandler.s3.secretKey=XXXXXXXX #TODO Set the classpath to the Parquet client libries and the Hadoop client with the path you noted in step1 gg.classpath= jvm.bootoptions=-Xmx512m -Xms32m
- Replicatが正常に起動すると、Replicatは実行状態になります。「アクション」/「詳細」/「統計」に移動して、レプリケーション統計を確認できます。
図7-32 レプリケーション統計
- AWS S3コンソールに移動し、バケットを確認します。
図7-33 S3バケット
ノート:
- ターゲットS3バケットが存在しない場合は、Oracle GoldenGate for Big Dataによって自動的に作成されます。「テンプレートのキーワード」を使用して、S3バケット名を動的に割り当てます。
- S3イベント・ハンドラをプロキシ・サーバー用に構成できます。詳細は、「Amazon S3」を参照してください。
- 様々なプロパティを使用して、ファイル書込みの動作を制御できます。ファイル・サイズ、非アクティブ期間などを設定できます。詳細は、ブログOracle GoldenGate for Big Dataのファイル・ライター・ハンドラの動作を参照してください。
- Kafka接続の問題の場合、Oracleサポートにお問い合せください。