Amazon Timestream for LiveAnalytics と同様の機能については、Amazon Timestream for InfluxDB を検討してください。リアルタイム分析のために、簡略化されたデータ取り込みと 1 桁ミリ秒のクエリ応答時間を提供します。詳細については、こちらを参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
LiveAnalytics の Timestream からの UNLOAD のユースケースの例
e コマースウェブサイトのユーザーセッションメトリクス、トラフィックソース、製品購入をモニタリングしているとします。Timestream for LiveAnalytics を使用して、ユーザーの行動、製品の販売に関するリアルタイムのインサイトを取得し、顧客をウェブサイトに誘導するトラフィックチャネル (組織検索、ソーシャルメディア、直接トラフィック、有料キャンペーンなど) でマーケティング分析を実行します。
トピック
パーティションなしでデータをエクスポートする
過去 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')
チャネルによるデータのパーティション化
過去 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')
イベントによるデータのパーティション化
過去 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')
チャネルとイベントの両方によるデータのパーティション化
過去 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')
マニフェストファイルとメタデータファイル
マニフェストファイル
マニフェストファイルは、UNLOAD 実行でエクスポートされるファイルのリストに関する情報を提供します。マニフェストファイルは、ファイル名 の指定された S3 バケットで使用できますS3://bucket_name/<queryid>_<UUID>_manifest.json
。マニフェストファイルには、結果フォルダ内のファイルの 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" } }
メタデータ
メタデータファイルは、列名、列タイプ、スキーマなどのデータセットに関する追加情報を提供します。メタデータファイルは、ファイル名が S3://bucket_name/<queryid>_<UUID>_metadata.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" } }
メタデータファイルで共有される列情報は、クエリのクエリ API レスポンスでColumnInfo
送信されるのと同じ構造ですSELECT
。
Glue クローラを使用した Glue データカタログの構築
-
管理者認証情報を使用してアカウントにログインし、次の検証を行います。
-
ここに記載されているガイドラインを使用して、 Glue データベース用のクローラを作成します。データソースに提供される S3 フォルダは、 などの
UNLOAD
結果フォルダである必要がありますs3://my_timestream_unloads/results
。 -
こちらのガイドラインに従ってクローラを実行します。
-
Glue テーブルを表示します。
-
AWS Glue → Tables に移動します。
-
クローラの作成時にテーブルプレフィックスを指定して作成された新しいテーブルが表示されます。
-
テーブルの詳細ビューをクリックすると、スキーマとパーティションの情報を表示できます。
-
以下は、 Glue データカタログを使用する AWS 他の AWS サービスとオープンソースプロジェクトです。
-
Amazon Athena – 詳細については、Amazon Athena ユーザーガイド」の「テーブル、データベース、データカタログについて」を参照してください。
-
Amazon Redshift Spectrum – 詳細については、「Amazon Redshift データベースデベロッパーガイド」の「Amazon Redshift Spectrum を使用した外部データのクエリ」を参照してください。
-
Amazon EMR – 詳細については、「Amazon EMR 管理ガイド」の「 Glue Data Catalog AWS への Amazon EMR アクセスにリソースベースのポリシーを使用する」を参照してください。
-
AWS Apache Hive メタストア用の Glue データカタログクライアント – この GitHub プロジェクトの詳細については、「AWS Apache Hive メタストア用の Glue データカタログクライアント
」を参照してください。