Apache Pig字符串截取实战小例子
来源:互联网 发布:java中public方法 编辑:程序博客网 时间:2024/06/06 00:33
记录一个Pig字符串截取的实战小例子:
需求如下,从下面的字符串里提取出第2列(冒号后面)的值:
如果是在java里,方法可能有很多种,比如substring,或者split多次等,在pig也大致如此,可以使用SUBSTRING内置函数来完成,但散仙推荐使用下面的方式,这种方式比较灵活,适合大部分场景的数据提取,需要用到的2个函数如下:
(1)REGEX_EXTRACT('原始字符串','正则式',int类型的返回索引)
(2)STRSPLIT('原始字符串', '正则式', 限制返回的个数)
pig脚本写法:
需求如下,从下面的字符串里提取出第2列(冒号后面)的值:
- 1 2 3 4
- a:ab#c#d
- a:c#c#d
- a:dd#c#d
- a:zz#c#d
1 2 3 4a:ab#c#da:c#c#da:dd#c#da:zz#c#d
如果是在java里,方法可能有很多种,比如substring,或者split多次等,在pig也大致如此,可以使用SUBSTRING内置函数来完成,但散仙推荐使用下面的方式,这种方式比较灵活,适合大部分场景的数据提取,需要用到的2个函数如下:
(1)REGEX_EXTRACT('原始字符串','正则式',int类型的返回索引)
(2)STRSPLIT('原始字符串', '正则式', 限制返回的个数)
pig脚本写法:
- a = laod '/tmp/data' as (data:chararray)
- //注意逻辑是,先获取冒号后面的数据,然后split成tuple,再通过$1(下标访问元素)获取我们需要的数据即可。
- b = foreach a generate STRSPLIT (REGEX_EXTRACT (data, '(.*):(.*)', 2) ,'#',5).$0;
- dump b;
a = laod '/tmp/data' as (data:chararray)//注意逻辑是,先获取冒号后面的数据,然后split成tuple,再通过$1(下标访问元素)获取我们需要的数据即可。b = foreach a generate STRSPLIT (REGEX_EXTRACT (data, '(.*):(.*)', 2) ,'#',5).$0;dump b;
0 0
- Apache Pig字符串截取实战小例子
- Java 小例子:按字节截取字符串
- JAVA 正则表达式截取字符串小例子
- oracle截取字符串例子
- 字符串截取相关例子
- 字符串截取小技巧
- awk实战小例子
- Pig实战
- Pig实战
- pig实战
- Pig实战
- Pig实战
- Pig实战
- Pig实战
- Pig实战
- Pig 实战
- Pig实战
- SQL自定义函数 字符串截取 递归查询 以及一个小例子
- hdu 2871 Memory Control
- 欢迎使用CSDN-markdown编辑器
- 常见表单重复提交问题整理及解决方法
- (表单重复提交)jquery验证 通过时,提交按钮变灰,不通过时正常显示
- 去掉部分重复
- Apache Pig字符串截取实战小例子
- 移动端webapp开发必备知识
- 回头看看也挺好
- 利用java反射机制 读取配置文件 实现动态类加载以及动态类型转换
- 【 程序运行时出现莫名奇妙的异常现象的原因之总结 】
- 关于quick-cocos2d-x新建自定义类绑定失败的处理方法
- 工具记载
- OC面向对象—继承
- c 语言基础