- 在建表的时候,不管这个建表语句怎么写,最终都会转化inputformat,outputformat,serde三个组件。
Inputformat:从表中读取数据的时候使用
Outputformat:向表中写入数据的时候使用
- 一般的导入数据的sql:
insert ... tb2 select ... from tb1 在底层会转换为计算任务,这个任务需要从tb1读数据,需要采用这个表的inputformat,写数据采用tb2的outputformat。
可以通过命令:show create table xxx查看,如下表:
读数据采用的是'org.apache.hadoop.mapred.TextInputFormat',表示读取text类型的数据
写数据采用的是 'org.apache.hadoop.hive.ql.io.orc.OutputFormat',表示写入orc类型的数据
- Hive的serde:
SerDe 是两个单词的缩写 serialized(序列化) 和 deserialized(反序列化)
来自 < https://www.cnblogs.com/halberd-lee/p/12990357.html>