hive serde 解决多字节分隔符
来源:互联网 发布:在线网络代理翻墙 编辑:程序博客网 时间:2024/06/01 22:47
2017年8月15日21:30:44
背景:hive默认只支持单字节的分隔符,有时候我们遇到多字节的时候就麻烦了,一下是解决hive多字节分隔符的问题
1.hive有哪些操作支持解析多字节分隔符
1、使用hive内置的 其他 serde 去解决
2、更改源码
这里我只测试使用hive内置的 其他 serde 去解决
1、使用hive内置的 其他 serde 去解决
几乎是一种万能的解决方式: 正则 RegexSerDe, LazySimpleSerDe(默认)
如果要使用RegexSerDe, 那么需要指定:
1、正则表达式
2、要根据正则表达式去匹配到的对应域的值拿出来
1||huangbo
(.*)\\|\\|(.*) === %1$s , %2$s
准备数据
// 创建表,表中的数据就是 || 分隔的两个字段值
create table doubledelimiter(id string,name string)
row format serde 'org.apache.hadoop.hive.serde2.RegexSerDe'
with serdeproperties('input.regex'='(.*)\\|\\|(.*)','output.format.string'='%1$s %2$s')
stored as textfile;
// 导入数据
load data local inpath "/home/hadoop/doubledelimiter.txt" into table doubledelimiter;
// 验证:
select id, name from doubledelimiter;
主要还是建表的时候指定好:create table doubledelimiter(id string,name string)
row format serde 'org.apache.hadoop.hive.serde2.RegexSerDe'
with serdeproperties('input.regex'='(.*)\\|\\|(.*)','output.format.string'='%1$s %2$s')
stored as textfile;
补充说明:
数据格式4::da::3
- hive serde 解决多字节分隔符
- Hive表如何使用多字符分隔
- Hive-数据文件分隔符为多字符问题
- hive多字符分割
- hive之SerDe概述
- Hive 中SerDe概述
- Hive——SerDe
- hive json serde
- hive 序列化serde
- Hive SerDe 使用
- Hive 中SerDe概述
- Hive系列之SerDe
- hive 分隔符 ^A
- Split多字符分隔的用法
- Hive多字符列分割
- Hive多字符分割列
- 换行符分隔字符串,多字符分隔字符串
- Hive-0.5中SerDe概述
- [分块]BZOJ 4216——Pig
- 四.c++中的算法--删除算法
- 各种神经网络优化算法:从梯度下降到Adam方法
- 置顶效果
- C++之编写new和delete时需要固守常规(51)---《Effective C++》
- hive serde 解决多字节分隔符
- B
- 原型链,java生态
- 关于public、internal、private、protected介绍
- Word2vec 入门(skip-gram部分)
- 2017 Multi-University Training Contest
- 11.关键字--final,static,object
- 【jzoj5281】【NOIP提高组模拟A组8.15】【钦点】
- LeetCode217 Contains Duplicate(判断数组是否包含重复值)