AWS:Glueについて
みなさん、こんばんは。ちゃみみです。
データアナリティクスを勉強するうえでAWS Glueは押さえておきたいサービスでもあるので
Balckbeltなどを見て要点をかいつまんだ形でポイントをここに備忘録として残しておこうと思います。
AWS Glueは、様々なデータソースを管理する、フルマネージドでサーバレスなETLサービスである。
ETLって、Extract(抽出)、Transform(変換)、Load(格納)のイニシャルを取って付けたものでデータ統合時に発生する各プロセスをまとめています。
そのうえで、このGlueは、以下の特徴があるようです。ざっくりですが
・サーバーレス
・コード編集にのみ集中できる
・VPC内からアクセスが可能
・セキュアに操作?できる
・柔軟な起動方法
・データソースのメタデータ管理
・他AWSサービスと連携の容易さ
・Notebookでの開発が可能
構成要素は、
1.データカタログ
2.サーバーレスエンジン
3.オーケストレーション
になるそうで。
以下が他スライドの簡単なサマリ~~
・データカタログにメタデータを作成するには、クローラー、GlueAPI、HiveDDL(Athena/EMR/RedshiftSpectrum)の3つの方法がある。連携もこの3つ
・データソースとして、DynamoDB、S3、Redshift、RDB、RDBonEC2、JDBC接続可能なオンプレミスDBがある
cf.クローラーは、Glueのデータカタログにメタデータを作成するプログラムである
・Glueの接続については、基本はIAMロールで管理することが前提となり、オンプレミスだと接続設定を追加してあげることと自己参照型のセキュリティグループでアクセス制御を行う形をとる
・ETL処理単位はジョブと呼ばれていてジョブの状態を追跡(チェックポイント)できるブックマーク機能がある
・Glueのスペック変更が行える。WorkerTypeと呼ばれていてジョブの実行時に割り当てる処理能力DPU(Data Processing Unit)があり1DPU(4vCPU*16GBMem)
・独自のライブラリの利用が可能(Python、Scalaのライブラリが利用できる)
・ワークフロー機能がある。具体的にクローラー、トリガー、ジョブのDAGを生成するワークフローを作ることができる。
・Glue内で管理するアクセスポリシーがあってデータカタログへのアクセス制御をすることが可能である。これってクロスアカウント、クロスリージョンにも対応しており設定次第でこれらのアクセス制御も行える。
・Glueの暗号化にあたっては、KMSの利用を前提にデータカタログ全体の暗号化が可能だがクローラーやジョブで定義をするIAMロールには、KMSを操作できる設定が必要。
・ジョブの実行状況の確認には、Cloudwatchlogsにて確認できる。
2021年10月29日
以下、宣伝です。
仲間も募集中なので、気になる方は↓の記事を覗いてみてくださいませ。
いい会社だと思いますよ。