ご利用開始にあたって - Amazon Athena

ご利用開始にあたって

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

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

前提条件

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

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

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

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

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

  3. [set up a query result location in Amazon S3 (Amazon S3 でクエリ結果の場所を設定する)] リンクを選択します。

    
                        [set up a query result location (クエリ結果の場所を設定する)] を選択する。
  4. [Settings (設定)] ダイアログボックスで、クエリ結果用に Amazon S3 で作成したバケットへのパスを入力します。パスの先頭に s3:// を付け、パスの末尾にスラッシュを付けます。

    
                        Amazon S3 で Athena からのクエリ結果を受け取る場所を指定する。
  5. [Save] をクリックします。

  6. Athena クエリエディタに、クエリペインが表示されます。クエリとステートメントをここに入力できます。

    
                        Athena コンソールのクエリペイン。
  7. mydatabase という名前のデータベースを作成するには、次の CREATE DATABASE ステートメントを入力します。

    CREATE DATABASE mydatabase
  8. [Run Query (クエリの実行)] を選択するか、Ctrl+ENTER を押します。

  9. カタログの表示が更新され、左側のナビゲーションペインの [Database (データベース)] リストに mydatabase と表示されていることを確認します。

    
                        作成されたデータベースは、 Athena コンソールのナビゲーションペインに表示されます。

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

データベースが作成されたので、ステートメントを実行してテーブルを作成する準備が整いました。テーブルは、ロケーション s3://athena-examples-aws-region/cloudfront/plaintext/ の Athena サンプルデータに基づきます。テーブルを作成するステートメントは、データにマッピングする列を定義して、データの区切り方法を指定し、サンプルデータを含む Amazon S3 のロケーションを指定します。

テーブルを作成するには

  1. [Database (データベース)] で、mydatabase を選択します。

  2. クエリエディタでプラス記号 (+) を選択して、新しいクエリを含むタブを作成します。一度に最大 10 個のクエリタブを開くことができます。

    
                        [+] アイコンを選択して、新しいクエリを作成します。
  3. クエリペインに、次の CREATE TABLE クエリを入力します。クエリの最後にある LOCATION ステートメントで、myregion を、現在使用している AWS リージョン (us-west-1 など) に置き換えます。

    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/';
    注記

    s3://athena-examples-myregion/path/to/data/myregion は、Athena を実行するリージョン識別子 (例: s3://athena-examples-us-west-1/path/to/data/) に置き換えます。

  4. [Run Query] を選択します。

    テーブル cloudfront_logs が作成され、mydatabase データベースの [Tables (テーブル)] のリストの下に表示されます。

    
                        Athena コンソールで作成されたテーブル。

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

Amazon S3 のデータに基づいて Athena で cloudfront_logs テーブルを作成したら、このテーブルに対して SQL クエリを実行して、Athena で結果を確認できます。Athena で SQL を使用する方法については、「Amazon Athena の SQL リファレンス」を参照してください。

クエリを実行するには

  1. 新しいクエリタブを開き、クエリペインに次の SQL ステートメントを入力します。

    SELECT os, COUNT(*) count FROM cloudfront_logs WHERE date BETWEEN date '2014-07-05' AND date '2014-08-05' GROUP BY os;
  2. [Run Query] を選択します。

    結果は次のように表示されます。

    
                        Athena コンソールでのクエリ結果の表示。
  3. [Results (結果)] ペインのダウンロードアイコンを選択すると、クエリの結果を .csv ファイルに保存できます。

    
                        クエリ結果をCSV形式でダウンロードしています。
  4. [History (履歴)] タブを選択して、以前のクエリを表示します。

    
                        前のクエリを表示するには、[History (履歴)] を選択します。
  5. [Download results (結果のダウンロード)] を選択して、前のクエリの結果をダウンロードします。クエリ履歴は 45 日間保持されます。

    
                        Athena コンソールでクエリ履歴を表示する

    詳細については、「クエリ結果、出力ファイル、クエリ履歴の使用」を参照してください。

他のデータソースへの接続

このチュートリアルでは、CSV 形式の Amazon S3 データソースを使用しました。AWS Glue、ODBC ドライバー、JDBC ドライバー、外部 Hive メタストア、Athena データソースコネクタを使用して、Athena をさまざまなデータソースに接続できます。詳細については、「データソースへの接続」を参照してください。