【发布时间】:2018-10-12 06:25:58
【问题描述】:
当我们在 hive 中创建 ORC 表时,我们可以看到数据被压缩并且在 HDFS 中不完全可读。那么,当我们对该表执行简单的 select * 查询时,Hive 如何能够将压缩数据转换为向我们显示的可读格式?
感谢您的建议!
【问题讨论】:
标签: hive
当我们在 hive 中创建 ORC 表时,我们可以看到数据被压缩并且在 HDFS 中不完全可读。那么,当我们对该表执行简单的 select * 查询时,Hive 如何能够将压缩数据转换为向我们显示的可读格式?
感谢您的建议!
【问题讨论】:
标签: hive
通过在创建表时使用 ORCserde。你必须为 serde 类提供包名。 行格式''。 serde 所做的是将特定格式的数据序列化为 hive 可以处理的对象,然后反序列化以将其存储回 hdfs。
【讨论】:
Hive 使用“Serde”(序列化反序列化)来做到这一点。当您创建表时,您会提到文件格式 ex:在您的情况下,它是 ORC “STORED AS ORC”,对。 Hive 在内部使用 ORC 库(Jar 文件)将其转换为可读格式。要了解有关 Hive 内部结构的更多信息,请搜索“Hive Serde”,您将了解数据如何转换为对象,反之亦然。
【讨论】: