re:Invent 2018でのAWS Glue周りの発表を聞いてきた(Python Shell、CloudWatch Event連携、Lake Formation)

AWS re:Invent 2018に参加するためラスベガスに来ています。

昨日はこちらのセッションを聞きました。

  • AWS re:Invent 2018: Building Serverless Analytics Pipelines with AWS Glue (ANT308)

そこで、静かに(?)AWS Glueの新機能の発表がありました。

セッション動画

ポイントは書くつもりですが、動画も挙がっているので、正確なのものを知りたい場合はこちらを確認してください。


AWS re:Invent 2018: Building Serverless Analytics Pipelines with AWS Glue (ANT308)

CloudWatchインベント連携

ETLジョブや、Crawlerの実行ステータスなどでCloudWatch Event連携ができるようになりました。

今までの場合、例えばS3データ更新を起点にCrawler動かして、ETLジョブに繋げてなどのオーケストレーションをするためにはCloudWatch Scheduleで大体の時間測って実行したり、CloudWatch LogsやステータスをLambdaでポーリングしたりとか、ひと手間必要でした。

これがイベント連携があれば、シンプルになります。動画見るとわかるのですが、「一番言いたいのは、普通のワークフローができるようになったということなんだけどねw」みたいな雰囲気です。でも、嬉しい機能です。

こんな感じです。普通に使えるっぽいけど、いつの間に。

Python shell

来月には、Python Shellというジョブ種別がリリースされるようです。

Spark使わないETL周りの雑多なタスクをPythonでやれたら便利じゃんという機能みたいです。

Pythonのバージョンは2.7。3はcoming soonとのことです。(少し笑いがおきていました)当然ながら、Pythonの便利なライブラリ群が利用できます。

20秒以下で処理が立ち上がり、Lambdaとは違い実行時間の制限が無いことがポイントです。

VPCへのアタッチも可能。

DPUはSparkのジョブよりも細かく1/16DPU単位で切れるようです。

最低料金が1分からなのもLambdaと違うところかと。

事例でrealtor.comのVP of Engineeringの方もPython Shellに触れていました。

今はETL周りの処理をECS+Glueでやっているようですが、

これをGlueに変えてしまうという話でした。

細かいファイルの整形には軽量なPythonで十分というか、そっちの方が便利なことは確かにあります。こんな使い分けを考えているようです。

その他

ETLジョブやCrawlerでDynamoDBがサポートされました。あとは暗号化やコンプライアンス系の強化とか。

DynamoDBのサポートは、今すぐ動かせるとあったので実際に触ってみています。

yomon.hatenablog.com

Lake Formation!

Glueの発表というわけではないですが、特性上、Datalakeと一緒に語られることが多いGlueなのでLake Formationの話題も外せません。

早速プレビュー申し込みましたが、まだ触れない状況です。

ドキュメントを見る限り以下が端的な機能なのかなと想像しています。

Q: What is AWS Lake Formation?

A: Lake Formation is an integrated data lake service that makes it easy for you to ingest, clean, catalog, transform, and secure your data and make it available for analysis and machine learning. Lake Formation gives you a central console where you can discover data sources, set up transformation jobs to move data to an Amazon S3 data lake, remove duplicates and match records, catalog data for access by analytic tools, configure data access and security policies, and audit and control access from AWS analytic and machine learning services. Lake Formation automatically configures underlying AWS services, including S3, AWS Glue, AWS IAM, AWS KMS, Amazon Athena, Amazon Redshift, and Amazon EMR for Apache Spark, to ensure compliance with your defined policies. If you’ve set up transformation jobs spanning AWS services, Lake Formation configures the flows, centralizes their orchestration, and lets you monitor the execution of your jobs. With Lake Formation, you can configure and manage your data lake without manually integrating multiple underlying AWS services.

引用元: AWS Lake Formation FAQs

結果としてこちらのブログに纏められているようなことが実現できるなら、とても便利そうなので早く触ってみたいです。

dev.classmethod.jp

AWSのまとめ資料にも出てます。

Lake Formationの前身かもしれない、Data Lake Solutionというのも触ってみたので、ここに貼っておきます。

yomon.hatenablog.com