hive如何处理多分隔符数据
来源:互联网 发布:故宫的记忆 知乎 编辑:程序博客网 时间:2024/06/03 15:58
问题描述:
大数据维稳需求中,客户提供的测试数据为多个字符做分隔符('|#'),在pig中会直接报错,hive中只认第一个分隔符。
由于数据量比较大(160G),在文本中替换成单个字符分隔符已不现实,以下提供两个方案解决这一问题。
样例数据
110|#警察
120|#医院
方案1:利用hive自带的序列化/反序列化的方式RegexSe
add jar /home/cup/software/……/hive-contrib-0.10.0-cdh4.4.0.jar;
create table test
(
id string,
name string
)partitioned by (c_day string)
row format serde 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
with serdeproperties
( 'input.regex' = '([^\\|#]*)\\|#([^\\|#]*)' , 'output.format.string' = '%1$s%2$s')
stored as textfile;
load data local inpath '/……/test.txt' overwrite into table test partition(c_day = '20141027');
select * from test;
110 警察 20141027
120 医院 20141027
==========================================================
方案2:重写相应的InputFormat和OutputFormat方法
http://running.iteye.com/blog/907806
http://superlxw1234.iteye.com/blog/1744970
0 0
- hive如何处理多分隔符数据
- Hive数据导入预处理-分隔符处理
- hive数据导出至本地文件,如何指定分隔符
- hive 导出数据分隔符
- sqlserver 多个分隔符分隔的参数如何处理
- Hive学习笔记-分隔符处理
- Hive学习笔记-分隔符处理
- hive的数据导入与数据导出:(本地,云hdfs,hbase),列分隔符的设置,以及hdfs上传给pig如何处理
- hive多分隔符问题
- Hive表如何使用多字符分隔
- Hive表中四种不同数据导出方式以及如何自定义导出列分隔符
- Hive表中四种不同数据导出方式以及如何自定义导出列分隔符
- hive 分隔符 ^A
- DB2使用特殊分隔符处理数据
- Greenplum或DeepGreen中使用外部表访问Hive数据(分隔符是Hive表默认列分隔符)
- HIVE迁移的点点滴滴(四)--HIVE数据导出及自定义分隔符
- [Hive]Hive指定查询输出分隔符
- hive-TextInputformat自定义分隔符
- ajaxForm的应用
- Log4j结合spring的使用配置
- Centos6.6安装zebra
- Apache Shiro介绍
- 一些Coco2d-js笔记
- hive如何处理多分隔符数据
- Spring注解@Component、@Repository、@Service、@Controller区别
- 在yii中用jquery实现删除之后跳转
- 我们在promises的使用上存在问题
- 手机 微信 试玩 IOS
- 排序算法:快速排序
- Java报错与解决方案
- fmt标签的格式化日期使用
- Android学习笔记12:图像渲染(Shader)