2019-02-01から1ヶ月間の記事一覧
今日は Athena でのクエリ結果の出力方法についてです。 ユースケースがハマるなら CTAS で、データサイズが小さいなら Python 側で処理して、そうでなければ現状は Athena を使うのは難しそうです。データの加工に Glue Job を使えば、SparkSQL を発行して …
昨日も少し触れましたが、StepFunctions から Athena を呼んで ETL 処理をさせたいと思っています。AWS の方に、以下のリポジトリが参考になると紹介していただきました: github.com 以下の図が動作概要図です: この図、一見分かったような気になりますが…
先週から調べていたことの簡単なまとめです。 AWS SAM サーバレスアーキテクチャに適した形で CloudFormation を使えるようにする拡張です。SAM = Serverless Application Model。サンプルを動かしていたのですが、IAM の設定がどうしてもうまくいかずにひと…
2月頭に箱根に行って、「ガラスの森美術館」に行こうとしたら閉館しており、隣に建っている「星の王子さまミュージアム」に行きました。そこで買ってきた星の王子様を週末読み終えたのですが、意外なバッドエンド?に驚きました。王子様が自殺する経緯につい…
Glue Job から Spark ジョブを呼ぶことで、大規模データに対する ETL 処理をしたいなと思っているのですが、Glue Job に同時実行数の制限があることに気がつきました: docs.aws.amazon.com Glue Job にはテンプレート部分を記述して、実際に動かす SparkSQL…
先週末、都内でキャンプをしまして、インドアな自分としてはとてもアクティブな体験でした。たき火を見ながらぼーっと話をするのもよいものです。翌朝起きたら、キャンプ場一体が雪で真っ白だったことにも驚きました。新鮮な体験でした。 AWS での運用につい…
AWS Glue で書いた Parquet ファイルが Glue のデータカタログのスキーマと異なることが度々発生しているので、直接 Parquet ファイルのスキーマを確認できないか調べたところ、parquet-tools コマンドで確認できることがわかりました。 github.com mvn inst…
AWS CodeCommit を利用して、Glue Job から CodeCommit からファイルを取得して集計処理をしたいなと思ったのですが、 get_file というメソッドが存在しないとエラーが起きてしまいました。 boto3.amazonaws.com GitHub の boto3 リポジトリを見ると get_fil…
AWS Glue と戯れる日々なのですが、SparkSQL の扱い方がわかったところでまたいくつか問題が。 Parquet とテーブルスキーマのフォーマット差異 S3 に書き出したファイルを Glue の DataCatalog を経由して Athena や Redshift から読み込もうとすると、Athen…