Hive 解析多字节分隔符的Serde

movies.dat 数据格式为:

          2::Jumanji (1995)::Adventure|Children's|Fantasy,

hive 正常默认是不支持多字节分隔符的,例如: 支持这种':'   不支持 这种 '::'

如果需要加载上面的以::分割的数据到hive 表,

那么需要用到能解析多字节分隔符的Serde即可

使用RegexSerde 

需要两个参数:
input.regex = "(.*)::(.*)::(.*)"
output.format.string = "%1$s %2$s %3$s" 

drop database if exists movie;
create database if not exists movie;
use movie;
##建表
create table t_movie(
movieid bigint,
moviename string,
movietype string) 
row format serde 'org.apache.hadoop.hive.serde2.RegexSerDe' 
with serdeproperties('input.regex'='(.*)::(.*)::(.*)','output.format.string'='%1$s %2$s %3$s')
stored as textfile;

##导入数据
load data local inpath "/movie/movies.dat" into table t_movie;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值