メニュー
Amazon Athena
ユーザーガイド

SerDe の使用

SerDe (シリアライザー/デシリアライザー) は、Athena がさまざまな形式のデータを操作する方法です。

SerDe は、ユーザーが指定するものであり、テーブルスキーマを定義する DDL ではありません。SerDe により、Athena でテーブルの作成時に指定した DDL 設定が上書きされる場合があります。

クエリで SerDe を使用するには

Athena でテーブルを作成するときに SerDe を使用するには、以下のいずれかの方法を使用します。

  • DDL ステートメントを使用し、テーブルに対してデータを読み書きする方法を記述します。次の例に示すように、ROW FORMAT は指定しません。これにより、実際の SerDe タイプの表示が除外され、ネイティブの LazySimpleSerDe がデフォルトで使用されます。

通常、ROW FORMAT を指定しないか、ROW FORMAT DELIMITED を指定した場合、Athena は LazySimpleSerDe を使用します。

ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ESCAPED BY '\\' COLLECTION ITEMS TERMINATED BY '|' MAP KEYS TERMINATED BY ':'
  • テーブルに対してデータを読み書きするときに Athena で使用する SerDe タイプを明示的に指定します。また、次の例に示すように、SERDEPROPERTIES で追加のプロパティを指定します。

ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = ',', 'field.delim' = ',', 'collection.delim' = '|', 'mapkey.delim' = ':', 'escape.delim' = '\\' )

このページの内容: