Hive 的格式到底是什么LazySimpleSerDe
?像 ParquetHiveSerDe 这样的格式告诉我 Hive 将以 parquet 格式读取 HDFS 文件。
但什么是LazySimpleSerDe
?鉴于 LazySimpleSerDe 是用于分隔文件的,为什么不将其称为类似CommaSepHiveSerDe
or的明确名称?TabSepHiveSerDe
Hive 的格式到底是什么LazySimpleSerDe
?像 ParquetHiveSerDe 这样的格式告诉我 Hive 将以 parquet 格式读取 HDFS 文件。
但什么是LazySimpleSerDe
?鉴于 LazySimpleSerDe 是用于分隔文件的,为什么不将其称为类似CommaSepHiveSerDe
or的明确名称?TabSepHiveSerDe
LasySimpleSerde
- 快速简单的 SerDe,它不识别引用的值,尽管它可以使用不同的分隔符,不仅是逗号,默认是 TAB ( \t
)。您可以STORED AS TEXTFILE
在表 DDL中指定LasySimpleSerDe
并将使用。对于引用值使用OpenCSVSerDe,它没有引用值那么快,LasySimpleSerDe
但可以正常工作。
LasySimpleSerDe 为了性能而简单,它也以一种惰性的方式创建对象,以提供更好的性能,这就是为什么在可能的情况下它是可取的(对于文本文件)。
使用管道分隔 ( |
) 文件格式查看此示例:https ://stackoverflow.com/a/68095278/2700344
show create table
此类表的命令会打印 serde 类,因为org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
STORED AS TEXTFILE 是一种快捷方式。