サポートされる SerDes とデータ形式 - Amazon Athena

サポートされる SerDes とデータ形式

Athena がテーブルの作成とデータのクエリでサポートしているのは、CSV、TSV、カスタム区切り、JSON の各形式のデータ、Hadoop 関連形式 (ORC、Apache Avro、Parquet) のデータ、および Logstash からのログ、AWS CloudTrail ログ、Apache WebServer ログです。

注記

このセクションにリストされている形式は、Athena がデータの読み取りに使用します。Athena が CTAS クエリの実行時にデータの書き込みに使用する形式については、「クエリ結果からのテーブルの作成 (CTAS)」を参照してください。

Athena でこれらの形式のテーブルを作成し、クエリを実行するには、シリアライザー/デシリアライザークラス (SerDe) を指定して、使用する形式とデータの解析方法を Athena に指示します。

この表には、Athena でサポートされているデータ形式と、それらに対応する SerDe ライブラリがリストされています。

SerDe は、Athena で使用されているデータカタログにデータの処理方法を指示するカスタムライブラリです。SerDe タイプは、Athena で CREATE TABLE ステートメントの ROW FORMAT 部分に SerDe タイプを明示的にリストすることによって指定します。Athena は、特定のタイプのデータ形式にデフォルトでいくつかの SerDe タイプを使用するため、SerDe 名を省略できる場合もあります。

サポートされるデータ形式と SerDe
データ形式 説明 Athena でサポートされる SerDe タイプ

CSV (カンマ区切り値)

CSV のデータでは、各行がデータレコードを表し、各レコードはカンマで区切られた 1 つ以上のフィールドで構成されます。

TSV (タブ区切り値)

TSV のデータでは、各行がデータレコードを表し、各レコードはタブで区切られた 1 つ以上のフィールドで構成されます。

CSV、TSV、およびカスタム区切りファイルの LazySimpleSerDe を使用し、区切り文字を FIELDS TERMINATED BY '\t' に指定します。

カスタム区切り

この形式のデータでは、各行がデータレコードを表し、レコード間は 1 文字のカスタム区切り文字で区切られます。

CSV、TSV、およびカスタム区切りファイルの LazySimpleSerDe を使用し、1 文字のカスタム区切り文字を指定します。

JSON (JavaScript Object Notation)

JSON データでは、各行がデータレコードを表します。各レコードは属性/値のペアと配列で構成され、それぞれがカンマで区切られます。

Apache Avro

Hadoop にデータを保存する形式であり、JSON ベースのスキーマをレコード値として使用します。

Avro SerDe を使用する

ORC (Optimized Row Columnar)

Hive データの最適化された列指向ストレージの形式。

ORC SerDe および ZLIB 圧縮を使用します。

Apache Parquet

Hadoop のデータの列指向ストレージ形式。

Parquet SerDe および SNAPPY 圧縮を使用します。

Logstash ログ

Logstash にログを保存する形式。

Grok SerDe を使用する

Apache WebServer ログ

Apache WebServer にログを保存する形式。

Grok SerDe または Regex SerDe を使用します。

CloudTrail ログ

CloudTrail にログを保存するための形式。

  • CloudTrail ログのフィールドの大半は、CloudTrail SerDe を使用してクエリします。

  • 形式がサービスに依存するいくつかのフィールドには、OpenX JSON SerDe を使用します。詳細については、「CloudTrail SerDe」を参照してください。