

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Athena の手動セットアップ
<a name="cur-ate-manual"></a>

 AWS CloudFormation テンプレートを使用して、自分で作成するのではなく、テーブルを作成することを強くお勧めします。提供された SQL クエリは、1 か月のデータのみを対象とするテーブルを作成しますが、 AWS CloudFormation テンプレートは複数の月を含めることができ、自動的に更新されるテーブルを作成します。 AWS CloudFormation テンプレートの設定方法の詳細については、「」を参照してください[CloudFormation テンプレートを使用した Athena のセットアップ](use-athena-cf.md)。

 CloudFormation テンプレートを使用して Athena テーブルをセットアップしない場合は、以下の手順を手動で実行します。CUR データに対して SQL AWS クエリを実行する前に、テーブルを作成する必要があります。このステップは少なくとも 1 か月に 1 回実行する必要があり、テーブルには現在の CUR AWS のデータのみが含まれます。

テーブル作成プロセスの一環として、 は CUR AWS 列名を AWS 変換します。変換プロセスの詳細については、「[列名](cur-ate-run.md#column-transformations)」を参照してください。
+ [Athena テーブルの作成](create-manual-table.md)
+ [コストと使用状況レポートのステータステーブルの作成](create-manual-cur-table.md)
+ [レポートパーティションのアップロード](upload-report-partitions.md)

# Athena テーブルの作成
<a name="create-manual-table"></a>

AWS には、CUR バケットにこのテーブルを作成するために実行する必要がある SQL AWS が含まれています。<a name="create-manual-table-steps"></a>

**Athena テーブルを作成するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

1. バケットのリストから、コストと使用状況レポートの送信先として指定したバケットを選択します。

1. パス `your-report-prefix-your-report-name-path-to-report` に移動します。

   正確なパスは、CUR AWS が以前のバージョンを上書きするように設定されているかどうかによって異なります。詳細については、「[コストと使用状況レポートの配信タイムライン](understanding-report-versions.md#access-cur-s3-timeline)」を参照してください。

1. `my-report-name-create-table.sql` ファイルを開きます。

1. ファイルから、SQL をコピーします (`CREATE`から `LOCATION 's3://your-report-prefix/your-report-name/the-rest-of-the=path'` までの部分)。Athena データベースを作成するにはデータベース名とテーブルが必要であるため、最初の行を書き留めておきます。

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) で Athena コンソールを開きます。

1. 次の SQL を [**新規クエリ 1**] クエリペインに貼り付けます。*`<database name>.<table name>`* には、コピーした SQL の最初の行にあるデータベースとテーブルの名前を使用します。

   ```
   CREATE DATABASE <database name>
   ```

1. **[クエリを実行]**を選択します。

1. ドロップダウンメニューで、作成したデータベースを選択します。

1. [**新規クエリ 1**] クエリペインで、SQL ファイルから残りの SQL を貼り付けます。

1. **[クエリを実行] **を選択します。

テーブルを作成したら、クエリを実行する前にパーティションにロードする必要があります。詳細については、「[レポートパーティションのアップロード](upload-report-partitions.md)」を参照してください。

# コストと使用状況レポートのステータステーブルの作成
<a name="create-manual-cur-table"></a>

AWS は CUR AWS を 1 日に複数回更新します。Athena がレポートの更新中 AWS であるタイミングを判断できないため、古いデータと新しいデータの組み合わせでクエリ結果が発生する可能性があります。これを軽減するには、 がコストと使用状況レポートを更新するかどうか AWS を追跡するテーブルを作成し、そのテーブルをクエリして AWS がデータを更新するかどうかを確認します。このテーブルは 1 回のみ作成する必要があります。その後、 はテーブルを最新の状態に AWS 保ちます。<a name="create-refresh-table"></a>

**更新テーブルを作成するには**

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) で Athena コンソールを開きます。

1. 次の SQL を [**新規クエリ 1**] クエリペインに貼り付けます。

   ```
   CREATE EXTERNAL TABLE IF NOT EXISTS cost_and_usage_data_status(
     status STRING)
   ROW FORMAT SERDE
     'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
   WITH SERDEPROPERTIES (
    'serialization.format' = '1'
   )
   LOCATION 's3://{S3_Bucket_Name}/{Report_Key}/cost_and_usage_data_status/'
   ```

1. **[クエリを実行] **を選択します。

 AWS がデータを更新しているかどうかを確認するには、Athena コンソールを使用して次の SQL クエリを実行します。

```
select status from cost_and_usage_data_status 
```

# レポートパーティションのアップロード
<a name="upload-report-partitions"></a>

コストと使用状況レポートのデータにクエリを実行するには、Athena テーブルにデータをアップロードする必要があります。 AWS が配信する新しい CUR AWS レポートごとにこれを行う必要があります。<a name="upload-partitions"></a>

**最新のレポートパーティションをアップロードするには**

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) で Athena コンソールを開きます。

1. テーブル名の横にある縦の 3 つのドットを選択します。

1. [**パーティションをロード**] を選択します。

パーティションをアップロードしなければ、Athena から結果が返されないか、データが欠落していることを示すエラーメッセージが返されます。