クローラーを使用してテーブルを追加する
AWS Glue クローラを使用すると、データセットのスキーマを検出して AWS Glue Data Catalog に登録できます。クローラは、データを参照しスキーマの判定を行います。さらに、パーティションを検出して登録することもできます。詳細については、「AWS Glue デベロッパーガイド」の「クローラの定義」を参照してください。正常にクロールされたデータのテーブルは Athena からクエリできます。
注記
Athena は、AWS Glue クローラに指定した除外パターンを認識しません。例えば、.csv
と .json
ファイルの両方が含まれる Amazon S3 バケットがある場合、.json
ファイルをクローラから除外しても、Athena は両方のファイルのグループをクエリします。これを回避するには、除外するファイルを別の場所に配置します。
AWS Glue クローラーを作成する
クローラの作成には、まず Athena コンソールを起動し、それと合わせて AWS Glue コンソールを使用します。クローラーを作成する際には、Amazon S3 内にあるクロール対象のデータの場所を指定します。
Athena コンソールから AWS Glue のクローラを作成するには
https://console.aws.amazon.com/athena/
で Athena コンソールを開きます。 -
クエリエディタの [Tables and views] (テーブルとビュー) の横にある [Create] (作成) を選択し、その後 [AWS Glue crawler] を選択します。
-
AWS Glue コンソールの [Add crawler (クローラの追加)] ページで、次の手順に従いクローラを作成します。詳細については、このガイドの「AWS Glue クローラの使用」、ならびに「AWS Glue デベロッパーガイド」の「AWS Glue Data Catalog の入力」を参照してください。
注記
Athena は、AWS Glue クローラに指定した除外パターンを認識しません。例えば、.csv
と .json
ファイルの両方が含まれる Amazon S3 バケットがある場合、.json
ファイルをクローラから除外しても、Athena は両方のファイルのグループをクエリします。これを回避するには、除外するファイルを別の場所に配置します。
AWS Glue クローラは、クロール後に、Apache Hive、Presto、Spark などの他の外部テクノロジーに準拠するために特定のテーブルメタデータを自動的に割り当てます。時折、このクローラが割り当てるメタデータプロパティが正しくないことがあります。正しくないプロパティは、Athena でテーブルをクエリする前に、AWS Glue で手動で修正してください。詳細については、「AWS Glue デベロッパーガイド」の「テーブルの詳細の表示と編集」を参照してください。
CSV ファイルの各データフィールドが引用符で囲まれている場合、AWS Glue は serializationLib
プロパティを誤解してメタデータの割り当てを間違える場合があります。詳細については、「引用符で囲まれた CSV データの処理」を参照してください。