AWS GlueでDynamoDBがサポートされたので触ってみた

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

題名の通りGlueのCrawlerとETLジョブでDynamoDBがサポートされましたので早速動かしてみます。

セッション

発表されたセッションとスライドはこちらです。他にもあったのですが、今すぐ動くDynamoDBのサポートから試してみました。

セッション名

Building Serverless Analytics Pipelines with AWS Glue (ANT308)

スライド

f:id:yomon8:20181126150615j:plain

テスト用のテーブル

この様なテスト用のテーブルをDynamoDBに作成してみます。

f:id:yomon8:20181128173540p:plain

Crawler

GlueのCrawlerの対象は、従来ではS3とJDBCしか対象に選べませんでしたが、DynamoDBが追加されています。

f:id:yomon8:20181128173651p:plain

テーブル名を指定して実行します。

f:id:yomon8:20181128173717p:plain

Crawlerの実行結果です、スキーマ情報が取れていることがわかります。

f:id:yomon8:20181128173900p:plain

ETLジョブ

ELTジョブでも connection_type = "dynamodb" でDynamoDBを読み込めます。

dynamo_df = glueContext.create_dynamic_frame.from_options(
    connection_type = "dynamodb",
    connection_options = {"dynamodb.input.tableName": "gluetest"}
)

確かに、スライドにも書かれている通りDynamoDBに対して(Spark)SQLも叩ける。

f:id:yomon8:20181128174932p:plain