HiveLazySimpleSerDe
的格式究竟是什么?像ParquetHiveSerDe这样的格式告诉我,Hive将读取镶木地板格式的HDFS文件。
但什么是LazySimpleSerDe
?既然LazySimpleSerDe用于分隔文件,为什么不将其称为类似CommaSepHiveSerDe
或TabSepHiveSerDe
的显式名称呢?
LasySimpleSerde
-快速简单的SerDe,它不识别引号,尽管它可以使用不同的分隔符,而不仅仅是逗号,默认为TAB(t
(。您可以在DDL表中指定STORED AS TEXTFILE
,将使用LasySimpleSerDe
。对于使用OpenCSVSerDe的引用值,它没有LasySimpleSerDe
那么快,但可以正确使用引用值。
LasySimpleSerDe为了性能起见很简单,而且它以一种懒惰的方式创建对象,以提供更好的性能,这就是为什么它在可能的情况下更可取(对于文本文件(。
请参阅以下使用管道分隔(|
(文件格式的示例:https://stackoverflow.com/a/68095278/2700344
该表的show create table
命令将serde类打印为org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
,STORED as TEXTFILE是一个快捷方式。