Hive 表属性

2020-03-12  本文已影响0人  一个神经质的工程师

一、create table if not exists 用于防止所建的表名已存在而报错

二、comment 字段或者表注释

三、Serde Inputformat Outputformat

转载自 https://blog.csdn.net/mhtian2015/article/details/78873815

Serde 序列化与反序列化,官方原话:

SerDe is a short name for “Serializer and Deserializer.”</br>

Hive uses SerDe (and !FileFormat) to read and write table rows.</br>

针对表的行进行操作(读写)

序列化指将对象转化为字节,反序列化就是将字节转化为对象,select就是反序列化,insert就是序列化。

HDFS files –> InputFileFormat –> <key, value> –> Deserializer –> Row object</br> select

Row object –> Serializer –> <key, value> –> OutputFileFormat –> HDFS files</br>  insert

a.TEXTFILE 默认存储方式,没有指定使用Serde,行存储

b.SEQUENCEFILE 压缩的序列化文件,由二进制序列化过的key/value的字节流组成的文本存储文件

c. RCFILE  行存储

d.ORC/ORCFILE 列存储,在rcfile基础上改进,压缩编码、查询性能上进行了升级,还包含了列级别的一些聚合的结果

e.PARQUET/PARQUETFILE

f.AVRO/AVROFILE

四、LOCATION 多使用在外部表,制定数据位置

五、TBLPROPERTIES 建表者可自行修改的一些表属性

官方文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-CreateTableCreate/Drop/TruncateTable

上一篇下一篇

猜你喜欢

热点阅读