Amazon Kinesis Data Firehose 例 - Amazon Athena

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

Amazon Kinesis Data Firehose 例

Kinesis Data Firehose は、データを Amazon S3 に保存します。

s3://bucket/folder/yyyy/MM/dd/HH/file.extension

通常、パーティション射影を使用せずに Kinesis Data Firehose データをクエリために Athena を使用するには、Kinesis データ Firehose ログのテーブルを Athena に作成します。その後、Kinesis Data Firehose がパーティションを作成するとき、1 時間おきに AWS Glue データカタログのテーブルにパーティションを追加する必要があります。

パーティション射影を使用すると、1 回限りの設定を使用して、パーティションが存在する場所を Athena に通知できます。次の CREATE TABLE の例では、開始日が 2018 年 1 月 1 日午前 0 時であると想定しています。日付範囲の上限には、必ず NOW を使用してください。これにより、適切な UTC 時刻に新しいデータが自動的にクエリ可能になります。

CREATE EXTERNAL TABLE my_table ( ... ) ... PARTITIONED BY ( datehour STRING ) LOCATION "s3://bucket/table-name/" TBLPROPERTIES ( "projection.enabled" = "true", "projection.datehour.type" = "date", "projection.datehour.range" = "2018/01/01/00,NOW", "projection.datehour.format" = "yyyy/MM/dd/HH", "projection.datehour.interval" = "1", "projection.datehour.interval.unit" = "HOURS", "storage.location.template" = "s3://bucket/table-name/${datehour}" )

Kinesis Data Firehose は、table-name あなたのために. Kinesis コンソールで、table-name は、に表示されます。カスタムプレフィックスfield.

このテーブルを使用すると、手動でパーティションを追加しなくても、次のようなクエリを実行できます。

SELECT * FROM my_table WHERE datehour >= '2018/02/03/00' AND datehour < '2018/02/03/04'