ヤマムギ

growing hard days.

*

AWS Glueチュートリアル

      2021/09/15

AWS Glueのマネジメントコンソールの左ペインの一番下にチュートリアルがあります。
やりましょう。
バージニア北部でやりました。

クローラの追加

チュートリアルの[クローラの追加]を選択すると、[クローラの追加]画面に遷移してメッセージがナビゲートしてくれます。
[次へ]を押下したら、[クローラの追加]ボタンが押下されて画面遷移しました。

クローラの名前に”Flights Data Crawler”と入力して[次へ]を押下しました。

次はクローラのソースタイプの指定で、Data storesかExisting catalog tablesから選べます。
チュートリアルではData storesを選択しました。

Repeat crawls of S3 data storesでは、Crawl all foldersかCrawl new folders onlyから選択できます。
Crawl all foldersを選択しました。

データストアの追加では、S3、JDBC、DynamoDB、DocumentDB、MongoDBから選択できます。
S3を選択しました。

インクルードパスに、チュートリアル用のパス
s3://crawler-public-us-east-1/flight/2016/csv
を入力しました(画面とは違います)。
[次へ]を押下しました。

次の「別のデータストアの追加」画面では、1つのクローラーで複数のデータストアをクロールすることができるようです。
チュートリアルでは[いいえ]を選択しました。

次の「IAMロールの選択」では、新規のIAMロール作成を選択して、DefaultRoleと入力しました。
これでAWSGlueServiceRole-DefaultRoleというIAMロールが作成されます。

スケジュール設定で、周期的なスケジュールが設定できます。
オンデマンドにしました。

「クローラーの出力設定」では、flights-dbデータベースを追加しました。

プレフィックスにflightsと入力しました。

これで完了です。

Flights Data Crawlerを選択して、[クローラの実行]を押下しました。

テーブルの確認

flightscsvテーブルが作成されています。

S3のCSVを読み取ってクローラが自動でスキーマを作成したのですね。

他に詳細情報の確認などを行いました。

ジョブの追加

次に[ジョブの追加]を選択しました。
元のS3バケットのCSVをParquetに変換してくれるそうです。

ジョブの名前、IAMロール、生成されるスクリプトの保存先などを指定しました。

Parquet形式を指定して、出力先にS3バケットを指定しました。

マッピングが表示されました。

スクリプトエディタになりましたので、[ジョブの実行]を押下しました。

指定したS3バケットにParquetファイルが生成されていました。

オブジェクトアクションのS3 Selectで確認したら、Parquetで認識されてました。
CSV出力で確認してみます。

ちゃんとデータを確認できました。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

  関連記事

AWSアカウント ルートユーザーのMFAが使えなくなったので復旧

AWSのルートユーザーどころか、MFAが使えるログインすべてが使えなくなって焦り …

CloudWatch LogsメトリクスフィルタでNginxのaccess_logから転送バイト数をモニタリングする

ユーザーガイドのApache ログからのフィールドの抽出を見てて、これ、Ngin …

CloudFrontからのバーチャルホストなサイトのテストってどうしてます?

このブログの構成です。 AWSで構築しています。 4つのサイトを1つのEC2で配 …

EC2ユーザーデータからメタデータを取得してRocket.Chatで80ポートを使用する

Rocket.Chatのデフォルトポート番号は3000です。 80を使うようにす …

Systems Manager パッチマネージャでベースラインを作成して適用する

ベースラインの作成 Systems Managerのパッチマネージャーでパッチベ …

AWS CodeDeployからEC2 Auto Scalingにデプロイするチュートリアル

公式チュートリアルチュートリアル: アプリケーションを CodeDeployグル …

EC2 Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(手順整理版)

ブログサイト(WordPress)をレンタルWebサーバーからAWSに移設する事 …

Kinesis Data AnalyticsをKinesis Data Streamsに接続してSQL検索する

Amazon Kinesis Data StreamsにTwitter検索データ …

AWS CloudShellでboto3(SDK for Python)使うならpython3

本の執筆をしていて、ちょっとAWS CLIやSDKのふるまいを確認したいことがあ …

特定AWSアカウント特定リージョンのSQSキューを削除するLambda(Python)

やりたいこと 特定アカウント内特定リージョン内のSQSキューを全部削除したいです …