1回答
- 新しい順
- 投票が多い順
- コメントが多い順
0
AWS Glue Visual ETLを使用してOracleSQLからS3にParquet形式で差分データを出力する方法について、以下のアプローチを提案します:
-
データソース(OracleSQL)の設定:
- タイムスタンプや更新日時のカラムを含むクエリを作成します。
- 例: "SELECT * FROM your_table WHERE last_updated_timestamp > :last_etl_run"
-
ジョブパラメータの利用:
- AWS Glue ジョブにパラメータを追加し、前回のETL実行時刻を保存します。
- 初回実行時は過去の日付(例:1970-01-01)を使用し、全データを取得します。
-
差分抽出ロジックの実装:
- Filter変換またはSQL変換を使用して、前回のETL実行以降に更新されたデータのみを抽出します。
-
データターゲット(S3)の設定:
- 出力パスにタイムスタンプやジョブ実行IDを含めることで、各実行ごとに一意のファイル名を生成します。
- 例: "s3://your-bucket/output/year={}/month={}/day={}/hour={}/data.parquet"
-
ブックマーク機能の活用:
- AWS Glueのブックマーク機能を有効にし、最後に処理されたデータの位置を追跡します。
-
ジョブの完了後の処理:
- Lambda関数やStep Functionsを使用して、次回のジョブ実行のためにパラメータを更新します。
これらの設定により、初回は全データを取得し、以降の実行では差分データのみを処理することができます。また、Parquet形式での出力と、一意のファイル名生成も実現できます。
実装の詳細はAWS Glueのドキュメントを参照し、必要に応じてAWS supportに相談することをお勧めします。
Sources
Using the Parquet format in AWS Glue - AWS Glue
S3ParquetSource - AWS Glue
回答済み 3ヶ月前
関連するコンテンツ
- 質問済み 2年前
- 質問済み 1年前
- AWS公式更新しました 4年前
- AWS公式更新しました 3年前
- AWS公式更新しました 4年前
- AWS公式更新しました 1ヶ月前