Hive 行格式
描述
Spark 支持在 CREATE TABLE
和 TRANSFORM
子句中使用 Hive 行格式来指定 SerDe 或文本分隔符。在 CREATE TABLE
和 TRANSFORM
子句的 row_format
中,有两种方式来定义行格式。
SERDE
子句,用于指定自定义 SerDe 类。DELIMITED
子句,用于为原生 SerDe 指定分隔符、转义字符、空字符等。
语法
row_format:
SERDE serde_class [ WITH SERDEPROPERTIES (k1=v1, k2=v2, ... ) ]
| DELIMITED [ FIELDS TERMINATED BY fields_terminated_char [ ESCAPED BY escaped_char ] ]
[ COLLECTION ITEMS TERMINATED BY collection_items_terminated_char ]
[ MAP KEYS TERMINATED BY map_key_terminated_char ]
[ LINES TERMINATED BY row_terminated_char ]
[ NULL DEFINED AS null_char ]
参数
-
SERDE serde_class
指定自定义 SerDe 的完全限定类名。
-
SERDEPROPERTIES
用于标记 SerDe 定义的键值对列表。
-
字段终止符
用于定义列分隔符。
-
集合项终止符
用于定义集合项分隔符。
-
Map 键终止符
用于定义 Map 键分隔符。
-
行终止符
用于定义行分隔符。
-
NULL 定义为
用于定义 NULL 的特定值。
-
转义字符
用于转义机制。