投稿日: Oct 11, 2018

Amazon Athena はインタラクティブなクエリサービスで、Amazon S3 内のデータを標準 SQL を使用して簡単に分析できるようになります。Athena はサーバーレスなので、インフラストラクチャの管理は不要です。実行したクエリに対してのみ料金が発生します。本日より、SELECT クエリ (CTAS) の結果を使用した CREATE TABLE のサポート、または CREATE TABLE AS SELECT (CTAS) ステートメントのサポートをリリースします。アナリストは CTAS ステートメントを使用して、一部のデータまたは列にある既存のテーブルから新しいテーブルを作成できます。Apache Parquet や Apache ORC のような列指向形式にデータを変換してパーティションを追加するオプションもあります。Athena は結果的に生じたテーブルとパーティションを Glue データカタログに自動的に追加し、以降のクエリですぐに利用できる状態にします。デフォルトにより、Athena 内の CTAS ステートメントはデータを Parquet 形式で書き込みます。その他のサポートされている形式には、Gzip または Snappy を圧縮形式として使用するオプションを搭載した Apache ORC、AVRO、JSON、テキストが含まれます。また、列ごとにデータのバケットを作成したり、暗号化したりできます。

CTAS ステートメントは、大きなテーブルから構成された小さなテーブルでクエリを実行することをユーザーに許可することにより、コストの削減やパフォーマンスの向上をサポートします。例えば、CTAS ステートメントを使用して、JSON 形式のデータを含む 2 つのテーブルから特定の列を選択するテーブルを作成したり、結果を Parquet のような列指向形式に変換したり、1 つのステートメント内の Glue データカタログにテーブルを追加したり、クエリをより簡単、迅速、安価に作成したりできます。CTAS ステートメントにより、アナリストは特定のワークロードに調整されたテーブルの作成をデータエンジニアリングチームに依存する必要がなくなり、セルフサービス環境を構築できます。CTAS ステートメントのその他の例については、こちらをご覧ください。 CTAS ステートメントは SELECT フェーズでスキャンされたバイト単位で請求されます。これは、Athena が SELECT クエリを請求する方法と似ています。