クローラーを使用してテーブルを追加する - Amazon Athena

クローラーを使用してテーブルを追加する

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 のクローラを作成するには
  1. https://console.aws.amazon.com/athena/ で Athena コンソールを開きます。

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

  3. 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 データの処理」を参照してください。