Apache Pig字符串截取实战小例子

栏目: Apache · 发布时间: 6年前

内容简介:Apache Pig字符串截取实战小例子

记录一个Pig字符串截取的实战小例子:

需求如下,从下面的字符串里提取出第2列(冒号后面)的值:

1 2  3 4
a:ab#c#d
a:c#c#d
a:dd#c#d
a: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;

想了解更多有关电商互联网公司的搜索技术和大数据技术的使用,请欢迎扫码关注微信公众号:我是攻城师(woshigcs)

本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访!

Apache Pig字符串截取实战小例子

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

写给大忙人看的Java SE 8

写给大忙人看的Java SE 8

【美】Cay S. Horstmann(凯.S.霍斯曼) 编 / 张若飞 / 电子工业出版社 / 2014-11 / 59.00元

《写给大忙人看的Java SE 8》向Java开发人员言简意赅地介绍了Java 8 的许多新特性(以及Java 7 中许多未被关注的特性),《写给大忙人看的Java SE 8》延续了《快学Scala》“不废话”的风格。 《写给大忙人看的Java SE 8》共分为9章。第1章讲述了lambda表达式的全部语法;第2章给出了流的完整概述;第3章给出了使用lambda表达式设计库的有效技巧;第4章......一起来看看 《写给大忙人看的Java SE 8》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器