Glueを使ったデータ分析基盤の構築についてのチュートリアルをやってみました。Athenaから閲覧します。S3の別フォルダに保管する。Athenaを使って参照する。多くのほかのデータ処理システムでサポートされているコラム状のフォーマットです。自動的に元のデータのスキーマを保持するParquetファイルの読み書きの両方のサポートを提供します。Parquetファイルを書く場合、互換性の理由から全てのカラムは自動的にnullが可能なように変換されます。S3のCSVを読み込みデータセットにメタデータを格納します。Athenaなどで分析する際はこのメタデータを参照し、実態のS3にアクセスします。メタデータには、テーブルの定義やデータの実態の場所などの情報が格納されています。CSVデータはAWSが用意していくれているものを利用します。2017年1月のニューヨークのグリーンタクシーの情報です。Glue]-[データベース]-[データベースの追加]をクリックする。「データベース名」に任意の値を入力し、[作成]をクリックする。データベースが作成できたら、[テーブル]-[テーブルの追加]をクリックする。「クローラの名前」に任意の値を入力し、[次へ]をクリックする。stores]を選択し、[次へ]をクリックする。6.以下の情報を入力し、[次へ]をクリックする。s3://aws-bigdata-blog/artifacts/glue-data-lake/data/※パスの最後のスラッシュ「/」を忘れないように注意です。「いいえ」を選択し、「次へ」をクリックする。以下の情報を入力し、「次へ」をクリックする。Glue用のIAMロールを作成してなかった場合IAMロールを作成するAWSGlueServiceRole-xxxx(任意の値)自動で作成した場合以下の二つのポリシーが付いたロールが作成されます。AWSGlueServiceRole-xxxx(カスタムポリシー)AWSGlueServiceRole(マネージドポリシー)特定のS3バケットへの書き込み権限やEC2などへの参照権限が付与されています。「オンデマンドで実行」を選択し、「次へ」をクリックする。[データベース]で先ほど追加したデータベース名を選択し、[次へ]をクリックする。確認画面を確認し、[完了]をクリックする。クローラを選択して、[クローラの実行]をしても大丈夫です。クローラが正常に完了したことを確認する。実行ログはカラムのログから確認できます。[テーブル]-[data]をクリックします。クローラにより作成されたデータカタログを確認します。CSVをもとにスキーマ情報やテーブルのプロパティが作成されたことを確認します。ETLジョブの作成、Parquetファイルへの変換ETLジョブを作成し、CSVファイルをParquetファイルに変換し、S3に格納します。Glue]-[ジョブ]-[ジョブの追加]をクリックします。以下を入力し、[次へ]をクリックします。Python3を使います。※Parquetファイルを保管するS3への書き込み権限が必要です。[data]を選択し[次へ]をクリックします。[スキーマを変更する]を選択し、[次へ]をクリックします。次の値を入力し、[次へ]をクリックします。※最後のスラッシュ「/」を忘れないように注意です。マッピングの一覧が表示されますので、確認し[次へ]をクリックします。データ型の変更や不要なカラムの削除などあればここで実施します。[保存]-[ジョブの実行]をクックします。ジョブが完了したことを確認し、6で指定したS3のパスを確認します。S3のParquetファイルを読み込みデータセットにメタデータを格納するAthenaから分析できるように先ほど作成したParquetファイルをクローラを使って読み込みます。Glue]-[クローラ]-[クローラの追加]をクリックします。「クローラの名前」に任意の値を入力し、[次へ]をクリックする。stores]を選択し、[次へ]をクリックする。4.以下の情報を入力し、[次へ]をクリックする。<Parquetファイルを出力したS3のパス>※パスの最後のスラッシュ「/」を忘れないように注意です。「いいえ」を選択し、「次へ」をクリックする。以下の情報を入力し、「次へ」をクリックする。「オンデマンドで実行」を選択し、「次へ」をクリックする。[データベース]でデータベース名(nycitytaxi)を選択し、[次へ]をクリックする。確認画面を確認し、[完了]をクリックする。クローラを選択して、[クローラの実行]をしても大丈夫です。ジョブが正常に完了していることを確認します。[テーブル]-[output]をクリックします。クローラにより作成されたデータカタログを確認します。CSVをもとにスキーマ情報やテーブルのプロパティが作成されたことを確認します。これでAthenaからデータが見れる状態になりました。最後にAthenaでデータを見てみます。Parquetのメタデータを保管したnycitytaxiを選択し、以下のSQLを実行すると値が取れます。Glueのチューリアルをやってみましたが、CSVからParquetへの変換、Athenaからの分析が簡単に実施することができました。GlueでETL処理してAthenaで分析するという流れができそうですね。ETL処理の箇所は、SparkとPythonの知識が必要になってくるのでもう少し勉強しようと思います。»プロフィール猫とクラウドと旅行が好きなインフラエンジニアです。日々の調べたことや興味が持ったことをこのブログにアウトプットします。Parquetの中身を簡単に確認するもっと見るリンクQiitaはてなブログをはじめよう!ykoomaruさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。