Amazon Athena
ユーザーガイド

ご利用開始にあたって

このチュートリアルでは、Amazon Athena を使用してデータをクエリする手順を示します。Amazon Simple Storage Service に保存されたサンプルデータに基づいてテーブルを作成し、テーブルをクエリして、クエリ結果を確認します。

チュートリアルでは、ライブリソースを使用するため、実行したクエリに課金されます。サンプルデータセットを使用しても課金されませんが、独自のデータファイルを Amazon S3 にアップロードした場合は料金が適用されます。

前提条件

セットアップ」に従って、アカウントにサインアップします (まだしていない場合)。

ステップ 1: データベースを作成する

最初に、Athena でデータベースを作成する必要があります。

データベースを作成するには

  1. Athena コンソールを開きます。

  2. Athena コンソールを初めて利用する場合は、開始方法のページが表示されます。[Get Started] を選択してクエリエディタを開きます。初めての利用でない場合は、Athena クエリエディタが開きます。

  3. Athena クエリエディタで、クエリペインにクエリ例が表示されているのを確認します。クエリペインの任意の場所で、クエリの入力を開始します。

  4. mydatabase という名前のデータベースを作成するには、次の CREATE DATABASE ステートメントを入力し、[Run Query] を選択します。

    CREATE DATABASE mydatabase
  5. カタログの表示が更新され、左側の [Catalog] ダッシュボードの [DATABASE] リストに「mydatabase」と表示されているのを確認します。

ステップ 2: テーブルを作成する

データベースを作成すると、次にサンプルデータファイルに基づいてテーブルを作成できます。データにマッピングする列を定義し、データを区切る方法と、ファイルを格納する Amazon S3 内の場所を指定します。

テーブルを作成するには

  1. [DATABASE] で [mydatabase] が選択されていることを確認して、[New Query] を選択します。

  2. クエリペインで、次の CREATE TABLE ステートメントを入力し、[Run Query] を選択します。

    注記

    Athena を実行するリージョン以外のリージョンのデータをクエリすることができます。Athena の標準料金に加えて、Amazon S3 の標準のリージョン間データ転送料金が適用されます。データ転送料金を削減するには、s3://athena-examples-myregion/path/to/data/myregion を、たとえば、s3://athena-examples-us-east-1/path/to/data/ のように Athena を実行するリージョン識別子に置き換えます。

    CREATE EXTERNAL TABLE IF NOT EXISTS cloudfront_logs ( `Date` DATE, Time STRING, Location STRING, Bytes INT, RequestIP STRING, Method STRING, Host STRING, Uri STRING, Status INT, Referrer STRING, os STRING, Browser STRING, BrowserVersion STRING ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe' WITH SERDEPROPERTIES ( "input.regex" = "^(?!#)([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+[^\(]+[\(]([^\;]+).*\%20([^\/]+)[\/](.*)$" ) LOCATION 's3://athena-examples-myregion/cloudfront/plaintext/';

    table cloudfront_logs が作成されて、データベースの [Catalog] ダッシュボードに表示されます。

ステップ 3: データをクエリする

Amazon S3 のデータに基づいて Athena で cloudfront_logs テーブルを作成したら、このテーブルに対してクエリを実行して、Athena で結果を確認できます。

クエリを実行するには

  1. [New Query] を選択し、次のステートメントをクエリペイン内の任意の場所に入力して、[Run Query] を選択します。

    SELECT os, COUNT(*) count FROM cloudfront_logs WHERE date BETWEEN date '2014-07-05' AND date '2014-08-05' GROUP BY os;

    次のような結果が返されます。

  2. 必要に応じて、[Results] ペインにあるアイコンを選択し、クエリ結果を CSV に保存できます。

過去のクエリ結果や、現在進行中のクエリを確認することもできます。[History] を選択し、クエリを検索するか、[View] または [Download] を選択して、過去の完了したクエリの結果を表示またはダウンロードします。これにより、現在実行中のクエリのステータスも表示されます。クエリ履歴は 45 日間保持されます。詳細については、「クエリ履歴の表示」を参照してください。

クエリ結果は、Amazon S3 のバケット (aws-athena-query-results-ACCOUNTID-REGION) 内にも保存されます。ペインの右上で [Settings] を選択し、コンソールのデフォルトの保存先と暗号化オプションを変更できます。詳細については、「クエリ結果」を参照してください。