テーブル、データベース、およびデータカタログの理解 - Amazon Athena

テーブル、データベース、およびデータカタログの理解

Athena でのテーブルとデータベースは、基盤となるソースデータのスキーマを定義するメタデータ定義のコンテナです。Athena では、データセットごとにテーブルが存在する必要があります。テーブルのメタデータは、Amazon S3 のどこにデータがあるかを Athena に伝え、列名、データ型、およびテーブルの名前などのデータの構造を指定します。データベースは、テーブルを論理的なグループにまとめたものであり、データセットのメタデータおよびスキーマ情報のみを保持します。

Athena では、クエリするデータセットごとに、クエリ結果を取得して返すために Athena が使用する基盤となるテーブルが必要です。このため、データをクエリする前に、Athena にテーブルを登録しておく必要があります。登録は、テーブルの自動作成または手動作成に伴って行われます。

テーブルの作成方法にかかわらず、テーブル作成プロセスによってデータセットが Athena に登録されます。登録は AWS Glue Data Catalog で行われ、Athena がデータをクエリすることを可能にします。

  • テーブルを自動作成するには、Athena 内から AWS Glue クローラを使用します。AWS Glue およびクローラの詳細については、「AWS Glue との統合」を参照してください。AWS Glue がテーブルを作成するときは、独自の AWS Glue データカタログにテーブルを登録します。Athena は、AWS Glue データカタログを使用してこのメタデータの保存と取得を行い、基盤となるデータセットを分析するためのクエリを実行するときにそれを使用します。

テーブルの作成後は、SQL SELECT ステートメントを使用してテーブルをクエリすることができます。これには、ソースデータの特定のファイルの場所の取得が含まれます。クエリの結果は、Amazon S3 にあるユーザー指定のクエリ結果の場所に保存されます。

Amazon Web Services アカウント全体で AWS Glue データカタログにアクセスできます。AWS Glue データカタログは AWS の他のサービスと共有できるため、Athena を使用して組織全体で作成されたデータベースやテーブルを確認でき、その逆も可能です。さらに、AWS Glue ではデータスキーマを自動検出し、データの抽出、変換、ロード (ETL) を行うことができます。

  • テーブルを手動で作成する方法は以下のとおりです。

    • Athena コンソールを使用して、テーブル作成ウィザードを実行する。

    • Athena コンソールを使用して、クエリエディタに Hive DDL ステートメントを記述する。

    • Athena API または CLI を使用して、DDL ステートメントで SQL クエリ文字列を実行する。

    • Athena JDBC または ODBC ドライバーを使用する。

テーブルとデータベースを手動で作成すると、Athena が内部で CREATE TABLECREATE DATABASEDROP TABLE などの HiveQL データ定義言語 (DDL) ステートメントを使用して、AWS Glue Data Catalog にテーブルとデータベースを作成します。

注記

2017 年 8 月 14 日より前に作成されたテーブルが Athena にある場合、これらは Athena が管理する内部データカタログ内に作成されており、更新するまでは AWS Glue Data Catalog とサイドバイサイドで存在します。詳細については、「AWS Glue Data Catalog へのステップバイステップのアップグレード」を参照してください。

既存のテーブルをクエリするときは、Amazon Athena が分散 SQL エンジンである Presto を内部で使用します。Athena には、Athena を使用してテーブルを作成し、それに対してクエリを発行する方法を説明するための、サンプルデータを使用した例があります。Athena のコンソールには、Amazon S3 に保存されたデータに基づくテーブルの作成を開始するために役立つチュートリアルも用意されています。

  • テーブルの作成と Athena クエリエディタでのクエリの記述に関するステップバイステップのチュートリアルについては、「開始方法」を参照してください。

  • コンソールで Athena チュートリアルを実行します。これは、https://console.aws.amazon.com/athena/ に初めてログインする場合には、自動的に開始されます。コンソールで [Tutorial] を選択して起動することもできます。