

# クローラーを使用してテーブルを追加する
<a name="schema-crawlers"></a>

AWS Glue クローラを使用すると、データセットのスキーマを検出して AWS Glue Data Catalog に登録できます。クローラは、データを参照しスキーマの判定を行います。さらに、パーティションを検出して登録することもできます。詳細については、「AWS Glue デベロッパーガイド」の「[クローラの定義](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)」を参照してください。正常にクロールされたデータのテーブルは Athena からクエリできます。

**注記**  
Athena は、AWS Glue クローラに指定した[除外パターン](https://docs.aws.amazon.com/glue/latest/dg/define-crawler.html#crawler-data-stores-exclude)を認識しません。例えば、`.csv` と `.json` ファイルの両方が含まれる Amazon S3 バケットがある場合、`.json` ファイルをクローラーから除外しても、Athena は両方のファイルのグループをクエリします。これを回避するには、除外するファイルを別の場所に配置します。

## AWS Glue クローラーを作成する
<a name="data-sources-glue-crawler-setup"></a>

クローラの作成には、まず Athena コンソールを起動し、それと合わせて AWS Glue コンソールを使用します。クローラーを作成する際には、Amazon S3 内にあるクロール対象のデータの場所を指定します。

**Athena コンソールから AWS Glue のクローラを作成するには**

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) で Athena コンソールを開きます。

1. クエリエディタの **[Tables and views]** (テーブルとビュー) の横にある **[Create]** (作成) を選択し、その後 **[AWS Glue crawler]** を選択します。

1. **AWS Glue** コンソールの [**Add crawler (クローラの追加)**] ページで、次の手順に従いクローラを作成します。詳細については、このガイドの「[AWS Glue クローラの使用](#schema-crawlers)」、ならびに「*AWS Glue デベロッパーガイド*」の「[AWS Glue Data Catalog の入力](https://docs.aws.amazon.com/glue/latest/dg/populate-catalog-methods.html)」を参照してください。

**注記**  
Athena は、AWS Glue クローラに指定した[除外パターン](https://docs.aws.amazon.com/glue/latest/dg/define-crawler.html#crawler-data-stores-exclude)を認識しません。例えば、`.csv` と `.json` ファイルの両方が含まれる Amazon S3 バケットがある場合、`.json` ファイルをクローラーから除外しても、Athena は両方のファイルのグループをクエリします。これを回避するには、除外するファイルを別の場所に配置します。

AWS Glue クローラは、クロール後に、Apache Hive、Presto、Spark などの他の外部テクノロジーに準拠するために特定のテーブルメタデータを自動的に割り当てます。時折、このクローラが割り当てるメタデータプロパティが正しくないことがあります。正しくないプロパティは、Athena でテーブルをクエリする前に、AWS Glue で手動で修正してください。詳細については、「AWS Glue デベロッパーガイド」の「[テーブルの詳細の表示と編集](https://docs.aws.amazon.com/glue/latest/dg/console-tables.html#console-tables-details)」を参照してください。

CSV ファイルの各データフィールドが引用符で囲まれている場合、AWS Glue は `serializationLib` プロパティを誤解してメタデータの割り当てを間違える場合があります。詳細については、「[引用符で囲まれた CSV データの処理](schema-csv.md#schema-csv-quotes)」を参照してください。