【问题标题】:What format applies to the Hive LazySimpleSerDe什么格式适用于 Hive LazySimpleSerDe
【发布时间】:2021-09-12 16:48:44
【问题描述】:

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

但是LazySimpleSerDe 是什么?既然 LazySimpleSerDe 用于分隔文件,为什么不将其称为 CommaSepHiveSerDeTabSepHiveSerDe 之类的明确名称?

【问题讨论】:

    标签: csv hive hive-serde hiveddl lazysimpleserde


    【解决方案1】:

    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 是 shortcut

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 2013-01-07
      • 1970-01-01
      相关资源
      最近更新 更多