Amazon Athena
ユーザーガイド

クエリ結果

Athena は、クエリ結果を Amazon S3 に保存します。

クエリを実行するたびに以下のファイルが生成されます。

  • CSV 形式で自動的に保存される結果ファイル (*.csv)

  • Athena メタデータファイル (*.csv.metadata)。

    注記

    メタデータファイルを (*.csv.metadata) を削除してもエラーは発生しませんが、クエリに関する重要な情報が失われます。

必要に応じて、結果ファイルにアクセスして使用できます。

次のいずれかの方法でクエリ結果の場所を指定できます。

  • 個々のクエリ用。設定を指定するこの方法は、クライアントサイドのクエリ設定と呼ばれます。クライアント側の設定には、クエリ結果の場所と暗号化の設定が含まれます。個々のクエリに対するクエリ結果の場所を表示または変更するには、Athena コンソールの右上のペインで [Settings (設定)] を選択するか、または OutputLocation API を使用します。

  • ワークグループ内のすべてのクエリ用。設定を指定するこの方法は、ワークグループ設定と呼ばれます。ワークグループ設定には、結果の場所と暗号化の設定が含まれます。ワークグループ内のすべてのクエリに対するクエリ結果の場所を表示または変更するには、コンソールで [Workgroup: (ワークグループ:)<workgroup_name>] タブを選択し、ワークグループに切り替えてワークグループを表示または編集し、[Query result location (クエリの結果の場所)] フィールドで場所を指定します。詳細については、「ワークグループ設定」および「ワークグループを管理する」を参照してください。API の WorkGroupConfiguration でこの設定を指定することもできます。

重要

API またはドライバーを使用する場合は、クエリ結果の場所を、個々のクエリ用 (クライアント側のクエリ設定) またはワークグループ内のすべてのクエリ用の 2 つの方法のいずれかで指定する必要があります。場所の指定を省略することはできません。場所がどちらの方法でも指定されていない場合、Athena はクエリ実行時にエラーを発行します。Athena コンソールを使用していて、いずれかの方法を使用してクエリ結果の場所を指定しない場合、Athena はデフォルトの場所を使用します。

クライアント側のクエリ設定は、クエリ結果の場所や暗号化など、ワークグループの設定が適用されていない場合にのみ使用されます。ワークグループの設定がクライアント側の設定を上書きする場合は、[Settings (設定)] で指定した場所と暗号化の設定は使用されません。これは、API オペレーションまたはドライバーを使用してコンソールで実行したクエリに適用されます。[Override client-side settings (クライアント側の設定を上書きする)] が選択されている場合、このクエリに対して指定された設定がワークグループの設定と異なる場合でも、クエリはワークグループの設定を使用します。詳細については、「ワークグループ設定がクライアント側設定を上書きする」を参照してください。

ワークグループに対して [Override client-side settings (クライアント側の設定を上書きする)] を選択した場合、[Settings (設定)] を選択すると次の画面が表示されます。これは、クライアント側の設定がこのワークグループのクエリには使用されていないことを示しています。


            クライアント側の設定がワークグループの設定によって上書きされていることを示すスクリーンショット。

クエリ結果の保存

クエリを実行すると、その結果が [Results] ペインに表示されます。

最新のクエリの結果を CSV に保存するには、ファイルアイコンを選択します。

以前に実行したクエリの結果を保存するには、[History] を使用してクエリを見つけ、[Download Results] を選択します。

クエリ結果のデフォルトの場所

重要

クエリ結果のデフォルトの場所は、コンソールでクエリを実行し、ワークグループでクエリの結果の場所を設定していない場合、およびワークグループの設定がクライアント側の設定を上書きしない場合にのみ Athena コンソールで使用されます。詳細については、「ワークグループ設定がクライアント側設定を上書きする」を参照してください。

この場合のみ、Athena はデフォルトでこの Amazon S3 バケットに個々のクエリ結果を保存します。

aws-athena-query-results-<ACCOUNTID>-<REGION>

注記

デフォルトの場所は、Athena コンソールで実行したクエリにのみ使用されます。API またはドライバーを使用してクエリを実行する場合は、個々のクエリの場合は OutputLocation (クライアント側) を使用するか、ワークグループの場合は WorkGroupConfiguration を使用して、クエリ結果の場所を指定する必要があります。

次のように、クエリ結果はクエリの名前とクエリの実行日に基づいて保存されます。

{QueryLocation}/{QueryName|Unsaved}/{yyyy}/{mm}/{dd}/{QueryID}.csv
{QueryLocation}/{QueryName|Unsaved}/{yyyy}/{mm}/{dd}/{QueryID}.csv.metadata

この表記の詳細は以下のとおりです。

  • ワークグループの設定が使用されていない場合、QueryLocation はすべてのクエリ結果の基本位置です。この場所を表示または変更するには、右上のペインの [設定] を選択します。[Query result location] に新しい値を入力して、いつでも保存先を変更できます。Amazon S3 で個々のクエリ結果を暗号化することも指定できます。詳細については「暗号化オプションの設定」を参照してください。

  • QueryName は結果を保存するクエリの名前です。保存していないクエリは Unsaved と表示されます。クエリを一覧表示して、対応する SQL ステートメントを調べるには、[Saved queries] を選択します。

  • yyyy/mm/dd/ は、クエリの実行日です。

  • QueryIDは、クエリの一意の ID です。