Hive创建表时使用Unicode字符作为字段分隔符(hive unicode character as delimiter)

本文介绍了在Hive中处理使用欧元符号€作为字段分隔符的日志数据。通过了解到Java中可以使用负数表示大于128的分隔符,作者发现€的Unicode码0x80对应的负数形式是-128,于是使用'-128'作为Hive表的分隔符,成功导入数据。
摘要由CSDN通过智能技术生成

最近需要使用分布式数据库Hive管理日志数据,原始日志数据使用欧元符号€作为字段分隔符,如下图所示,创建hive表的时候就想指定€作为分隔符,这样就可以不用改变原始日志数据而直接导入hive中。


我就写了如下hive QL创建表,

CREATE TABLE subscription (RowNum BIGINT, UserNum BIGINT, Province STRING, City STRING, PayTime TIMESTAMP, PayType SMALLINT, PayID STRING, PayAmount DOUBLE, ContentPayType SMALLINT, PayContentID STRING, PayMethodType SMALLINT, ClientVersion STRING) clustered by(PayTime) into 32 buckets row format delimited fields terminated by '€' stored as textfile;
成功执行完下面sql语句后,高兴的以为成功导入了,

Load data local inpath'/media/172.16.46.6/changbiao/server/a_10000_*_VGOP1-R2.10-21201_*_*.dat.gz'into table subscription; <

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值