

# チュートリアル: AWS Glue クローラの追加
<a name="tutorial-add-crawler"></a>

この AWS Glue シナリオでは、主要な航空会社の到着データを分析して、各月の出発空港の人気度を計算するよう求められています。2016 年のフライトデータが CSV 形式で Amazon S3 に保存されています。データの変換と分析を行う前に、AWS Glue Data Catalog 内のそのメタデータをカタログ化します。

このチュートリアルでは、これらのフライトログからメタデータを推測し、データ Amazon S3 にテーブルを作成するクローラを追加します。

**Topics**
+ [前提条件](#tutorial-add-crawler-prerequisites)
+ [ステップ 1: クローラの追加](#tutorial-add-crawler-step1)
+ [ステップ 2: クローラを実行する](#tutorial-add-crawler-step2)
+ [ステップ 3: AWS Glue Data Catalog オブジェクトを表示する](#tutorial-add-crawler-step3)

## 前提条件
<a name="tutorial-add-crawler-prerequisites"></a>

このチュートリアルでは、 AWS アカウントを持ち、AWS Glue にアクセスできることを前提としています。

## ステップ 1: クローラの追加
<a name="tutorial-add-crawler-step1"></a>

Amazon S3 に保存されている CSV ファイルからメタデータを抽出するクローラを設定および実行するには、以下の手順に従ってください。

**Amazon S3 に保存されているファイルを読み込むクローラを作成するには**

1. AWS Glue サービスコンソールの左側のメニューで、[**Crawlers**] (クローラー) を選択します。

1. クローラーページで、**[Create crawler]** を選択します。これにより、クローラの詳細に関する入力を求める一連のページが表示されます。  
![\[スクリーンショットは、クローラーページが表示されています。ここから、クローラーを作成できるほか、既存のクローラーの編集、複製、削除、表示を実行できます。\]](http://docs.aws.amazon.com/ja_jp/glue/latest/dg/images/crawlers-create_crawler.png)

1. [クローラ名] フィールドに、「**Flights Data Crawler**」を入力して、 [**Next**] (次へ) を選択します。

   クローラは分類子を呼び出して、データのスキーマを推測します。このチュートリアルでは、デフォルトの CSV 用の組み込みの分類子を使用します。

1. [クローラソースタイプ] で、[**Data stores**] (データストア) を選択し、[**Next**] (次へ) を選択します。

1. それでは、クローラをデータに指定します。[**Add a data store**] (データストアの追加) ページで、[Amazon S3 data store] (Amazon S3 データストア) を選択します。このチュートリアルでは接続を使用しないため、[**Connection**] (接続) フィールドが表示されている場合は、そのフィールドを空白のままにしてください。

   [**Crawl data in**] (クロールするデータの場所) で、[**Specified path in another account**] (別のアカウントで指定されたパス) を選択します。次に、[**Include path**] (インクルードパス) に、クローラがフライトデータ（**s3://crawler-public-us-east-1/flight/2016/csv**）に対するパスを入力します。パスを入力すると、このフィールドのタイトルが [**Include path**] (インクルードパス) に変わります。[**次へ**] を選択します。

1. 単一のクローラで複数のデータストアをクロールできます。ただし、このチュートリアルでは 1 つのデータストアのみを使用しているため、[**No**] (なし) を選択して、次に [**Next**] (次へ) を選択します。

1. クローラーには、データストアにアクセスして AWS Glue Data Catalog でオブジェクトを作成するためのアクセス許可が必要です。これらのアクセス許可を設定するために、[**Create an IAM role**] (IAM ロールを作成する) を選択します。IAM ロール名は 「`AWSGlueServiceRole-`」で始まります。フィールドにロール名の後ろの部分を入力します。　 「**CrawlerTutorial**」と入力し、[**Next**] (次へ) を選択します。
**注記**  
IAM ロールを作成するには、AWS ユーザーは `CreateRole`、`CreatePolicy`、および `AttachRolePolicy` アクセス許可が必要です。

   ウィザードが「`AWSGlueServiceRole-CrawlerTutorial`」という名前の IAM ロールを作成し、AWS 管理ポリシー `AWSGlueServiceRole` をこのロールにアタッチし、Amazon S3 ロケーション `s3://crawler-public-us-east-1/flight/2016/csv` への読み取りアクセスを許可するインラインポリシーを追加します。

1. クローラのスケジュールを作成します。[**Frequency**] (頻度) で、[**Run on demand** (オンデマンドで実行する) を選択してから、[**Next**] (次へ) を選択します。

1. クローラは Data Catalog 内にテーブルを作成します。テーブルは、Data Catalog 内のデータベースに格納されます。まず、**Add database** (データベースを追加する) を選択してデータベースを作成します。ポップアップウィンドウで、データベース名に 「**test-flights-db**」と入力し、[**Create**] (作成) を選択します。

   次に、[**Prefix added to tables**] (テーブルに追加されたプレフィックス) に「**flights**」を入力します。残りのフィールドにはデフォルト値を使用し、[**Next**] (次へ) を選択します。

1. 選択した内容を確認するには、[**Add crawler**] (クローラの追加) ウィザードを使用します。誤りを見つけた場合は、**Back** (戻る) をクリックして前のページに戻り、修正します。

   情報を確認したら、[**Finish**] (完了) をクリックしてクローラを作成します。

## ステップ 2: クローラを実行する
<a name="tutorial-add-crawler-step2"></a>

クローラを作成した後、ウィザードがクローラビューページを表示します。オンデマンドのスケジュールでクローラを作成するため、クローラを実行するオプションを使用できます。

**クローラを実行するには**

1. このページの上部にあるバナーでは、クローラが作成されたことが表示され、それを実行するかどうかを尋ねられます。[**Run it now?**] (今すぐ実行しますか？) をクリックしてクローラを実行します。

   バナーでは、クローラの「Attempting to run (実行しようとしています)」および「Running (実行中)」というメッセージの表示に変わります。クローラの実行を開始すると、バナーが消え、クローラの表示が更新され、クローラの [Starting] (起動) ステータスが表示されます。1 分後、[Refresh] (更新) アイコンをクリックして、テーブルに表示されるクローラのステータスを更新できます。

1. クローラが完了すると、クローラの変更を説明する新しいバナーが表示されます。**test-flights-db** リンクを選択して、Data Catalog オブジェクトを表示できます。

## ステップ 3: AWS Glue Data Catalog オブジェクトを表示する
<a name="tutorial-add-crawler-step3"></a>

クローラがソースの場所からデータを読み込み、Data Catalog にテーブルを作成します。テーブルは、スキーマを含むデータを表すメタデータ定義です。Data Catalog のテーブルにはデータが含まれていません。代わりに、ジョブ定義のソースまたはターゲットとしてこれらのテーブルを使用します。

**クローラが作成した Data Catalog オブジェクトを表示する方法**

1. 左側のナビゲーションペインの [**Data catalog**] (データカタログ) で、[**Databases**] (データベース) を選択します。ここでは、クローラーによって作成された `flights-db` データベースを表示できます。

1. 左側のナビゲーションの [**Data catalog**] (データカタログ) で、 [**Databases**] (データベース) の下の **Tables** (テーブル) を選択します。ここでは、クローラーが作成した `flightscsv` テーブルを表示できます。テーブル名を選択すると、テーブルの設定、パラメータ、およびプロパティを表示できます。このビューで下にスクロールすると、スキーマを表示できます。スキーマとは、テーブルの列とデータ型に関する情報です。

1. テーブルビューページで [**View partitions**] (パーティションの表示) を選択すると、データ用に作成されたパーティションを表示できます。最初の列はパーティションキーです。