

Amazon Timestream for LiveAnalytics に類似した機能をご希望の場合は Amazon Timestream for InfluxDB をご検討ください。リアルタイム分析に適した、シンプルなデータインジェストと 1 桁ミリ秒のクエリ応答時間を特徴としています。詳細については、[こちら](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)を参照してください。

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

# Timestream for LiveAnalytics の UNLOAD のユースケース例
<a name="export-unload-example-use-case"></a>

e コマースウェブサイトのユーザーセッションメトリクス、トラフィックソース、製品購入をモニタリングしているとします。Timestream for LiveAnalytics を使用して、ユーザーの行動、製品の販売に関するリアルタイムのインサイトを取得し、顧客をウェブサイトに誘導するトラフィックチャネル (オーガニック検索、ソーシャルメディア、直接トラフィック、有料キャンペーンなど) に対するマーケティング分析を実行します。

**Topics**
+ [パーティションなしでデータをエクスポートする](#export-unload-example-sample-1)
+ [チャネル別のデータのパーティション化](#export-unload-example-sample-2)
+ [イベントによるデータのパーティショニング](#export-unload-example-sample-3)
+ [チャネルとイベントの両方によるデータのパーティショニング](#export-unload-example-sample-4)
+ [マニフェストファイルとメタデータファイル](#export-unload-example-manifest-metadata)
+ [Glue クローラーを使用した Glue データカタログの構築](#export-unload-example-using-glue-crawlers)

## パーティションなしでデータをエクスポートする
<a name="export-unload-example-sample-1"></a>

過去 2 日間のデータを CSV 形式でエクスポートする必要があるとします。

```
UNLOAD(SELECT user_id, ip_address, event, session_id, measure_name, time, 
query, quantity, product_id, channel 
FROM sample_clickstream.sample_shopping 
WHERE time BETWEEN ago(2d) AND now())  
TO 's3://<bucket_name>/withoutpartition' 
WITH (  format='CSV',   
compression='GZIP')
```

## チャネル別のデータのパーティション化
<a name="export-unload-example-sample-2"></a>

過去 2 日間のデータを CSV 形式でエクスポートしたいが、各トラフィックチャネルのデータを別のフォルダに保持する必要があるとします。これを行うには、次に示すように `channel` 列を使用してデータをパーティション化する必要があります。

```
UNLOAD(SELECT user_id, ip_address, event, session_id, measure_name, time, 
query, quantity, product_id, channel 
FROM sample_clickstream.sample_shopping 
WHERE time BETWEEN ago(2d) AND now())  
TO 's3://<bucket_name>/partitionbychannel/' 
WITH (  
partitioned_by = ARRAY ['channel'], 
format='CSV',   
compression='GZIP')
```

## イベントによるデータのパーティショニング
<a name="export-unload-example-sample-3"></a>

過去 2 日間のデータを CSV 形式でエクスポートしたいが、各イベントのデータを別々のフォルダに保持する必要があるとします。これを行うには、次に示すように `event` 列を使用してデータをパーティション化する必要があります。

```
UNLOAD(SELECT user_id, ip_address, channel, session_id, measure_name, time, 
query, quantity, product_id, event 
FROM sample_clickstream.sample_shopping 
WHERE time BETWEEN ago(2d) AND now())  
TO 's3://<bucket_name>/partitionbyevent/' 
WITH (  
partitioned_by = ARRAY ['event'], 
format='CSV',   
compression='GZIP')
```

## チャネルとイベントの両方によるデータのパーティショニング
<a name="export-unload-example-sample-4"></a>

過去 2 日間のデータを CSV 形式でエクスポートしたいが、各チャネルおよびチャネル内のデータの各イベントを別のフォルダに保存する必要があるとします。これを行うには、次に示すように、`channel` と `event` 列の両方を使用してデータをパーティショニングする必要があります。

```
UNLOAD(SELECT user_id, ip_address, session_id, measure_name, time, 
query, quantity, product_id, channel,event 
FROM sample_clickstream.sample_shopping 
WHERE time BETWEEN ago(2d) AND now())  
TO 's3://<bucket_name>/partitionbychannelevent/' 
WITH (  
partitioned_by = ARRAY ['channel','event'], 
format='CSV',   
compression='GZIP')
```

## マニフェストファイルとメタデータファイル
<a name="export-unload-example-manifest-metadata"></a>

### マニフェストファイル
<a name="export-unload-common-questions-what-information-manifest"></a>

マニフェストファイルは、UNLOAD 実行でエクスポートされるファイルのリストに関する情報を提供します。マニフェストファイルは、ファイル名 `S3://bucket_name/<queryid>_<UUID>_manifest.json` の指定された S3 バケットで使用できます。マニフェストファイルには、結果フォルダ内のファイルの URL、各ファイルのレコード数とサイズ、クエリメタデータ (クエリのために S3 にエクスポートされた合計バイト数と合計行数) が含まれます。

```
{
  "result_files": [
    {
        "url":"s3://my_timestream_unloads/ec2_metrics/AEDAGANLHLBH4OLISD3CVOZZRWPX5GV2XCXRBKCVD554N6GWPWWXBP7LSG74V2Q_1448466917_szCL4YgVYzGXj2lS.gz", 
        "file_metadata": 
            { 
                "content_length_in_bytes": 32295, 
                "row_count": 10 
            }
    },
    {
        "url":"s3://my_timestream_unloads/ec2_metrics/AEDAGANLHLBH4OLISD3CVOZZRWPX5GV2XCXRBKCVD554N6GWPWWXBP7LSG74V2Q_1448466917_szCL4YgVYzGXj2lS.gz", 
        "file_metadata": 
            { 
                "content_length_in_bytes": 62295, 
                "row_count": 20 
            }
    },
  ],
  "query_metadata": 
    {
      "content_length_in_bytes": 94590, 
      "total_row_count": 30,
      "result_format": "CSV",
      "result_version": "Amazon Timestream version 1.0.0"  
    },
  "author": {
        "name": "Amazon Timestream", 
        "manifest_file_version": "1.0" 
  }
}
```

### メタデータ
<a name="export-unload-common-questions-what-information-metadata"></a>

メタデータファイルは、列名、列タイプ、スキーマなど、データセットに関する追加情報を提供します。メタデータファイルは、ファイル名 S3://bucket\$1name/<queryid>\$1<UUID>\$1metadata.json の指定された S3 バケットで使用できます。

メタデータファイルの例を次に示します。

```
{
    "ColumnInfo": [
        {
            "Name": "hostname",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        },
        {
            "Name": "region",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        },
        {
            "Name": "measure_name",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        },
        {
            "Name": "cpu_utilization",
            "Type": {
                "TimeSeriesMeasureValueColumnInfo": {
                    "Type": {
                        "ScalarType": "DOUBLE"
                    }
                }
            }
        }
  ],
  "Author": {
        "Name": "Amazon Timestream", 
        "MetadataFileVersion": "1.0" 
  }
}
```

メタデータファイルで共有される列情報は、`SELECT` クエリの Query API レスポンスで送信される `ColumnInfo` と同じ構造です。

## Glue クローラーを使用した Glue データカタログの構築
<a name="export-unload-example-using-glue-crawlers"></a>

1. 管理者認証情報を使用してアカウントにログインし、次の検証を行います。

1. [こちら](https://docs.aws.amazon.com/glue/latest/ug/tutorial-add-crawler.html)に記載されているガイドラインを使用して、Glue データベース用のクローラーを作成します。データソースに提供される S3 フォルダは、`s3://my_timestream_unloads/results` などの `UNLOAD` 結果フォルダである必要があります。

1. [こちら](https://docs.aws.amazon.com/glue/latest/ug/tutorial-add-crawler.html#tutorial-add-crawler-step2)のガイドラインに従ってクローラーを実行します。

1. Glue テーブルを表示します。
   + **[AWS Glue]** → **[テーブル]** に移動します。
   + クローラーの作成時にテーブルプレフィックスを指定して作成された新しいテーブルが表示されます。
   + テーブルの詳細ビューをクリックすると、スキーマとパーティションの情報を表示できます。

以下は、 Glue データカタログを使用する AWS 他の AWS サービスとオープンソースプロジェクトです。
+ **Amazon Athena** – 詳細については、「Amazon Athena ユーザーガイド」の「[Athena でのテーブル、データベース、およびデータカタログの理解](https://docs.aws.amazon.com/athena/latest/ug/understanding-tables-databases-and-the-data-catalog.html)」を参照してください。
+ **Amazon Redshift Spectrum** – 詳細については、「Amazon Redshift データベース開発者ガイド」で[Amazon Redshift Spectrum を使用した外部データへのクエリの実行方法](https://docs.aws.amazon.com/redshift/latest/dg/c-using-spectrum.html)を確認してください。
+ **Amazon EMR** – 詳細については、[「Amazon EMR 管理ガイド」の「 Glue Data Catalog AWS への Amazon EMR アクセスにリソースベースのポリシー](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-glue.html)を使用する」を参照してください。
+ **AWS Apache Hive メタストア用の Glue データカタログクライアント** – この GitHub プロジェクトの詳細については、「[AWS Apache Hive メタストア用の Glue データカタログクライアント](https://github.com/awslabs/aws-glue-data-catalog-client-for-apache-hive-metastore)」を参照してください。