gpt4 book ai didi

hadoop - Hive 中的 'InputFormat, OutputFormat' 和 'Stored as' 有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 14:17:37 37 4
gpt4 key购买 nike

我是大数据的新手,目前正在学习 Hive。我了解 Hive 中 InputFormat 和 OutputFormat 的概念作为 SerDe 的一部分。我还了解到“存储为”用于以特定格式存储文件,就像 InputFormat 一样。但我不明白使用“输入格式、输出格式”和“存储为”之间的显着区别是什么。

感谢任何帮助。

最佳答案

Hive 有很多关于如何存储数据的选项。您可以使用外部 存储,Hive 只是从其他地方包装一些数据,或者您可以从hive 仓库 开始创建独立表。输入和输出格式允许您指定这两种类型表的原始数据结构或数据的物理存储方式。从您的客户端,您将继续使用 sql 处理表,但在低级别上,它可能是文本文件或序列文件或 hbase 表或其他一些数据结构。

InputFormat 和 OutputFormat - 允许您描述原始数据结构,以便 Hive 可以将其正确映射到 TableView

SerDe - 表示将数据从 TableView 实际转换为低级输入输出格式结构的类

通常你的流程是这样的:HDFS files --> InputFileFormat --> Deserializer --> Row object --> Serializer --> OutputFileFormat --> HDFS files

存储为 - 指定这样的存储格式,包括 Hive 中新表的输入和输出格式

这些属性可以真正影响性能、整体大小、数据模式演化支持或启用 ACID 等功能。您可以按照本文中描述的步骤查看低级别的工作情况并获取有关最常用格式的一些一般信息 - https://oyermolenko.blog/2017/02/16/structuring-hadoop-data-through-hive-and-sql

关于hadoop - Hive 中的 'InputFormat, OutputFormat' 和 'Stored as' 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42416236/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com