翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SerDe の使用
SerDe (シリアライザー/デシリアライザー) は、Athena がさまざまな形式のデータとやり取りする方法です。
SerDe は、ユーザーが指定するものであり、テーブルスキーマを定義する DDL ではありません。言い換えると、SerDe は、テーブルの作成時に Athena で指定する DDL 設定を上書きできます。
クエリで SerDe を使用するには
Athena でテーブルを作成するときに SerDe を使用するには、以下の方法のいずれかを使用します。
-
以下の例にあるように、
ROW FORMAT DELIMITED
を指定してから、DDL ステートメントを使用してフィールド区切り文字を指定します。ROW FORMAT DELIMITED
を指定すると、Athena がデフォルトで LazySimpleSerDe を使用します。ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ESCAPED BY '\\' COLLECTION ITEMS TERMINATED BY '|' MAP KEYS TERMINATED BY ':'
ROW FORMAT DELIMITED
の例については、次のトピックを参照してください。 -
ROW FORMAT SERDE
は、テーブルへのデータの読み書きを行うときに Athena が使用する必要がある SerDe のタイプを明示的に指定します。以下の例は、LazySimpleSerDe を指定しています。区切り文字を指定するには、WITH SERDEPROPERTIES
を使用します。WITH SERDEPROPERTIES
によって指定されたプロパティは、ROW FORMAT DELIMITED
例の個別のステートメント (FIELDS TERMINATED BY
など) に対応します。ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = ',', 'field.delim' = ',', 'collection.delim' = '|', 'mapkey.delim' = ':', 'escape.delim' = '\\' )
ROW FORMAT SERDE
の例については、次のトピックを参照してください。