首页 > 解决方案 > 什么格式适用于 Hive LazySimpleSerDe

问题描述

Hive 的格式到底是什么LazySimpleSerDe?像 ParquetHiveSerDe 这样的格式告诉我 Hive 将以 parquet 格式读取 HDFS 文件。

但什么是LazySimpleSerDe?鉴于 LazySimpleSerDe 是用于分隔文件的,为什么不将其称为类似CommaSepHiveSerDeor的明确名称?TabSepHiveSerDe

标签: csvhivehive-serdehiveddllazysimpleserde

解决方案


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.LazySimpleSerDeSTORED AS TEXTFILE 是一种快捷方式


推荐阅读