记录一个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 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;
相关推荐
Pig 编程实现按某个符号分割,并AS 存储
《深入理解Pig:从源码剖析大数据处理框架》 Pig是Apache Hadoop生态系统中的一个数据处理框架,它提供了一种高级的编程语言——Pig Latin,用于编写大规模的数据处理作业。源码包是理解Pig工作原理、扩展功能和...
《深入理解Pig 0.15源码:大数据处理框架的奥秘》 Pig是Apache Hadoop项目中的一个高级数据流语言和执行框架,主要用于处理大规模数据集。Pig 0.15版是Pig发展过程中的一个重要里程碑,它的源码为我们提供了深入...
例如,如果你需要对数据进行特定的字符串处理或者应用复杂的数学计算,你可以编写一个Java UDF,并在Pig Latin脚本中调用它。 5. **Pig Latin**: Pig Latin是Pig的数据处理语言,它简化了Hadoop MapReduce作业的...
《Pig工具包在Hadoop云计算中的应用与详解》 Pig是Apache Hadoop生态系统中的一个强大工具,专为大规模数据处理而设计。"pig-0.7.0.tar.gz"是一个包含Pig 0.7.0版本的压缩包,它的出现为我们提供了一个高效的、基于...
【标题】"PIG微服务前后端源码"所涉及的知识点主要集中在微服务架构、前端开发和后端开发三个领域。PIG作为国内微服务热度最高的社区之一,其源码解析将帮助开发者深入理解微服务的设计理念和实现方式。 在微服务...
- `is_vowel(char c)`函数用于检测字符是否为元音,通过`strchr()`函数查找字符在"aeiouAEIOU"字符串中的位置,如果找到返回非NULL,表示是元音,否则为辅音。 - `piglatinize(const char *word, char *piglatin_...
例如,使用更紧凑的数据类型(如整数而不是字符串表示数字)可以减少内存使用和磁盘I/O,从而加快处理速度。 #### 2. 减少shuffle阶段 shuffle是MapReduce中最耗时的阶段之一。通过合理设计数据流和使用内联...
《Pig编程指南源码详解》 Pig是Apache Hadoop项目的一部分,它提供了一个高级数据流语言(Pig Latin)和一个用于处理大规模数据集的执行引擎。本指南将深入探讨Pig编程的核心概念,结合从GitHub下载的...
在Hadoop平台上,Pig是一种高级脚本语言,用于处理和分析大数据。Pig允许用户执行复杂的转换和数据查询,这些操作原本需要使用Java MapReduce编程,而Pig通过提供一套数据流语言和执行框架,简化了这一过程。 Pig...
UDF可以用于执行数据清洗、计算、字符串操作等任务,极大地丰富了Pig的数据处理能力。编写UDF时,需要继承Pig的特定类,并实现特定的方法,然后在Pig脚本中通过`DEFINE`关键字引入。理解如何创建和使用UDF是提升Pig...
《Pig语言与Map-Reduce:深入理解pig-0.9.2.tar.gz》 Apache Pig是Hadoop生态系统中的一个高级数据处理工具,它提供了一种面向用户的脚本语言,称为Pig Latin,用于构建Map-Reduce作业。Pig拉丁语简化了大数据处理...
《Apache Pig 0.17.0 安装与配置指南》 Apache Pig 是一个用于大数据分析的平台,它提供了一种高级语言 Pig Latin 来处理大规模数据集。Pig-0.17.0 是该平台的一个稳定版本,包含了多项优化和改进,适用于Hadoop...
### 大数据之pig命令详解 #### 一、Pig简介及与Hive的比较 Pig是一款基于Hadoop的数据处理工具,它提供了一种高级语言(Pig Latin),使得用户能够更容易地处理大规模数据集。Pig的核心设计思想是为了简化大数据...
《Pig-0.9.1在Hadoop环境下的安装与配置详解》 Apache Pig是Hadoop生态系统中的一个高级数据处理工具,它提供了一种基于脚本语言的接口,使得用户可以更方便地进行大规模数据集的分析。Pig-0.9.1是Pig的一个早期...
元组内的每个字段都有特定的数据类型,如整数、字符串或浮点数。元组可以嵌套在其他数据结构中,如关系或包,从而形成复杂的数据结构。 ##### 4. 字段(Field) **字段**是元组内的最小单位,代表单个数据项。每个...
【标题】"pig-0.16.0.tar安装包" 涉及的主要知识点是Apache Pig的安装和使用,这是一个基于Hadoop的数据流编程平台,用于处理大规模数据集。Pig Latin是Pig的编程语言,它允许用户编写复杂的数据处理任务,而无需...
`urldecode` 是一个用于解码 URL 编码的字符串的函数。在处理 Web 数据或网络日志时,原始数据可能包含 URL 编码的字符,例如 `%20` 表示空格。使用 `urldecode` UDF,我们可以将这些编码转换回可读的格式。在 Pig ...