Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop ';InputFormat,OutputFormat'&';存储为';在蜂箱里?_Hadoop_Hive_Hiveql_Hive Serde - Fatal编程技术网

Hadoop ';InputFormat,OutputFormat'&';存储为';在蜂箱里?

Hadoop ';InputFormat,OutputFormat'&';存储为';在蜂箱里?,hadoop,hive,hiveql,hive-serde,Hadoop,Hive,Hiveql,Hive Serde,我是Bigdata的新手,目前正在学习Hive。作为SerDe的一部分,我理解了Hive中InputFormat和OutputFormat的概念。我还了解到,“存储为”用于以特定格式存储文件,就像InputFormat一样。 但我不明白使用“InputFormat,OutputFormat”和“存储为”之间有什么显著区别 非常感谢您的帮助。对于如何存储数据,Hive有很多选择。您可以使用外部存储,其中配置单元仅包装来自其他位置的一些数据,也可以从配置单元仓库中开始创建独立表。输入和输出格式允许您

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


非常感谢您的帮助。

对于如何存储数据,Hive有很多选择。您可以使用外部存储,其中配置单元仅包装来自其他位置的一些数据,也可以从配置单元仓库中开始创建独立表。输入和输出格式允许您指定这两种类型表的原始数据结构或数据的物理存储方式。在客户端,您将继续使用sql处理表,但在底层,它可能是文本文件、序列文件、hbase表或其他一些数据结构

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

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

通常,您的过程如下:HDFS文件-->InputFileFormat-->反序列化器-->行对象-->序列化器-->OutputFileFormat-->HDFS文件

存储为-指定此类存储格式,其中包括配置单元中新表的输入和输出格式


这些属性确实会影响性能、总体大小、数据模式演化支持或启用诸如ACID之类的功能。您可以按照本文中描述的步骤查看底层的工作情况,并获取有关最常用格式的一般信息-

我已经阅读了您提供的信息。我现在清楚了。感谢您的时间。这样一个明确的答案-希望官方文件以这种方式解释它!许多的thanks@AbhinandanDubey谢谢你的反馈。我100%同意您关于文档的看法,不幸的是,所有大数据解决方案中都存在此问题。@Alex我可以使用不同的InputFormat和OutputFormat吗?例如,XML输入格式和JSON输出格式?@Bala认为这不可行。针对单个实体-表的输入和输出格式。不能在同一文件中读取XML数据和写入Json数据。这两种格式都应保持与文件同步的逻辑