189 8069 5689

Hive中InputFormat、OutputFormat与SerDe怎么用

这篇文章主要介绍Hive中InputFormat、OutputFormat与SerDe怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

成都创新互联公司专注于柳城网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供柳城营销型网站建设,柳城网站制作、柳城网页设计、柳城网站官网定制、小程序开发服务,打造柳城网络公司原创品牌,更为您提供柳城网站排名全网营销落地服务。

Hive中,默认使用的是TextInputFormat,一行表示一条记录。在每条记录(一行中),默认使用^A分割各个字段。

在有些时候,我们往往面对多行,结构化的文档,并需要将其导入Hive处理,此时,就需要自定义InputFormat、OutputFormat,以及SerDe了。

首先来理清这三者之间的关系,我们直接引用Hive官方说法:

SerDe is a short name for “Serializer and Deserializer.”
Hive uses SerDe (and !FileFormat) to read and write table rows.
HDFS files –> InputFileFormat(RecordReader) –>  –> Deserializer –> Row object
Row object –> Serializer –>  –> OutputFileFormat(recordwriter) –> HDFS files

总结一下,当面临一个HDFS上的文件时,Hive将如下处理(以读为例):

(1) 调用InputFormat,将文件切成不同的文档。每篇文档即一行(Row)。
(2) 调用SerDe的Deserializer,将一行(Row),切分为各个字段。

当HIVE执行INSERT操作,将Row写入文件时,主要调用OutputFormat、SerDe的Seriliazer,顺序与读取相反

以上是“Hive中InputFormat、OutputFormat与SerDe怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享标题:Hive中InputFormat、OutputFormat与SerDe怎么用
网站URL:http://cdxtjz.cn/article/ijdghd.html

其他资讯