Data Pipeline
ETLやデータ以降をマネージドでできる
以下のような機能・特徴を持つ
- ETL
- AWS間のデータ以降とかであれば、簡単なマウスとキーボードの操作だけで処理を作り、実行できるようなGUIがある
- 複雑な変換処理などは自前のプログラムを噛ませることもできる
- スケジューラ機能
- オンプレでも使える
例えばRDBからRedshiftにデータ移したいときなどに有効。
- RDBからS3にデータをエクスポート
- Redshiftのテーブルに合わせて変換と加工
- Redshiftにインポート
Glue
フルマネージド且つサーバレスのETL
Glue単体で動かすのでは無く、AWSの他サービス間で連動させる事で機能する、つまりAWSの各サービスの連携を管理することができる
lambdaと組み合わせるとイベントドリブンで動かしたりできるらしい
以下のような機能・特徴を持つ
- AWSの各サービスの連携を管理できる
- クローラでデータソースから情報を取得してくる
- 完全マネージド
- データカタログで、Athena、EMR、Redshiftと統合できる
データカタログに追加されたテーブル定義はETLに利用でき、各サービスでのクエリにも簡単に利用できるため、サービスの間で共通のデータビューを設定可能
Data PipelineとGlueの違い
▼Data Pipeline
- マネージド型のオーケストレーションサービス
- 実行環境、コードを実行するコンピューティングリソースに対するアクセスと制御、およびデータ処理のコードが柔軟に変更できる
- 実行時にアカウント内でコンピューティングリソースが起動、EC2やEMRクラスタに直接アクセスできる
- Apache Spark以外のエンジンの使用が必要なユースケースや、HiveやPigなどのエンジンで複数のジョブを実行する場合はData Pipelineのほうがよい
▼Glue
- データ優先のアプローチが採用されている
- データカタログによって、Athena、EMR、Redshiftでのクエリにもメタデータを利用できる
- ETLジョブは、Scala または Python