码迷,mamicode.com
首页 > 其他好文 > 详细

Hive之序列化与反序列化(SerDe)

时间:2018-05-11 14:32:26      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:isp   color   eve   regex   sort   传输   字节序   sorted   类型   

技术分享图片

序列化与反序列化的作用

1,序列化是对象转化为字节序列的过程;

2,反序列化是字节码恢复为对象的过程;

序列化的作用主要有两个:

(1),对象向的持久化;即把对象转换成字节码后保存文件;

(2),对象数据的传输;

反序列化的主要作用:

对<key,value>反序列化成Hive table的每一列的值;Hive可以方便的将数据加载到表中而不需要对数据进行转换,这样在海量数据处理时,可以节省大量的时间。

  在Hive的HQL语句中,select时将会用到序列化操作, insert 时会用到反序列化操作,下面是具体的操作过程。

技术分享图片

SerDe使用

Hive创建表时,通过定义的SerDe或使用Hive内置的SerDe类型指定数据的序列化和反序列化方式。

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
[(col_name data_type [COMMENT col_comment], ...)]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[CLUSTERED BY (col_name, col_name, ...)
[SORTED BY (col_name [ASC|DESC], ...)]
INTO num_buckets BUCKETS]
[ROW FORMAT row_format]
[STORED AS file_format]
[LOCATION hdfs_path]

如上创建表语句, 使用row format 参数说明SerDe的类型。

SerDe包括内置类型

Avro
ORC
RegEx
Thrift
Parquet
CSV
JsonSerDe

 

Eg..
CREATE
EXTERNAL TABLE IF NOT EXISTS teacher ( id BIGINT, name STRING, age INT) ROW FORMAT SERDE com.coder4.hive.MySerDe STORED AS TEXTFILE LOCATION /usr/hive/text/
参考:https://www.jianshu.com/p/9c43f03b97e7
https://cwiki.apache.org/confluence/display/Hive/DeveloperGuide#DeveloperGuide-HiveSerDe

 

Hive之序列化与反序列化(SerDe)

标签:isp   color   eve   regex   sort   传输   字节序   sorted   类型   

原文地址:https://www.cnblogs.com/rrttp/p/9024153.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!