`
weitao1026
  • 浏览: 1050260 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

记录一个Pig字符串截取的实战小例子:
需求如下,从下面的字符串里提取出第2列(冒号后面)的值:

Java代码 复制代码 收藏代码
  1. 1 2  3 4  
  2. a:ab#c#d  
  3. a:c#c#d  
  4. a:dd#c#d  
  5. 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脚本写法:

Java代码 复制代码 收藏代码
  1. a = laod '/tmp/data' as (data:chararray)  
  2. //注意逻辑是,先获取冒号后面的数据,然后split成tuple,再通过$1(下标访问元素)获取我们需要的数据即可。  
  3. b = foreach a generate STRSPLIT (REGEX_EXTRACT (data, '(.*):(.*)'2) ,'#',5).$0;  
  4.   
  5. dump b;  
分享到:
评论

相关推荐

    Pig 编程 实现使用某个符号分割

    Pig 编程实现按某个符号分割,并AS 存储

    pig的源码包

    《深入理解Pig:从源码剖析大数据处理框架》 Pig是Apache Hadoop生态系统中的一个数据处理框架,它提供了一种高级的编程语言——Pig Latin,用于编写大规模的数据处理作业。源码包是理解Pig工作原理、扩展功能和...

    pig源码0.15版

    《深入理解Pig 0.15源码:大数据处理框架的奥秘》 Pig是Apache Hadoop项目中的一个高级数据流语言和执行框架,主要用于处理大规模数据集。Pig 0.15版是Pig发展过程中的一个重要里程碑,它的源码为我们提供了深入...

    pig java 编程jar包

    例如,如果你需要对数据进行特定的字符串处理或者应用复杂的数学计算,你可以编写一个Java UDF,并在Pig Latin脚本中调用它。 5. **Pig Latin**: Pig Latin是Pig的数据处理语言,它简化了Hadoop MapReduce作业的...

    pig-0.7.0.tar.gz

    《Pig工具包在Hadoop云计算中的应用与详解》 Pig是Apache Hadoop生态系统中的一个强大工具,专为大规模数据处理而设计。"pig-0.7.0.tar.gz"是一个包含Pig 0.7.0版本的压缩包,它的出现为我们提供了一个高效的、基于...

    PIG微服务前后端源码

    【标题】"PIG微服务前后端源码"所涉及的知识点主要集中在微服务架构、前端开发和后端开发三个领域。PIG作为国内微服务热度最高的社区之一,其源码解析将帮助开发者深入理解微服务的设计理念和实现方式。 在微服务...

    写一个程序用来从终端读入一行文本,并把这行文本中的英文转换成Pig Latin,Pig Latin是按照如下简单规则转换每个英文单词的一种自发明语言。

    - `is_vowel(char c)`函数用于检测字符是否为元音,通过`strchr()`函数查找字符在"aeiouAEIOU"字符串中的位置,如果找到返回非NULL,表示是元音,否则为辅音。 - `piglatinize(const char *word, char *piglatin_...

    Apache Pig的性能优化.pdf

    例如,使用更紧凑的数据类型(如整数而不是字符串表示数字)可以减少内存使用和磁盘I/O,从而加快处理速度。 #### 2. 减少shuffle阶段 shuffle是MapReduce中最耗时的阶段之一。通过合理设计数据流和使用内联...

    pig编程指南源码

    《Pig编程指南源码详解》 Pig是Apache Hadoop项目的一部分,它提供了一个高级数据流语言(Pig Latin)和一个用于处理大规模数据集的执行引擎。本指南将深入探讨Pig编程的核心概念,结合从GitHub下载的...

    pig官方基础教程

    在Hadoop平台上,Pig是一种高级脚本语言,用于处理和分析大数据。Pig允许用户执行复杂的转换和数据查询,这些操作原本需要使用Java MapReduce编程,而Pig通过提供一套数据流语言和执行框架,简化了这一过程。 Pig...

    pig编程指南中的样例脚本、UDF、数据集

    UDF可以用于执行数据清洗、计算、字符串操作等任务,极大地丰富了Pig的数据处理能力。编写UDF时,需要继承Pig的特定类,并实现特定的方法,然后在Pig脚本中通过`DEFINE`关键字引入。理解如何创建和使用UDF是提升Pig...

    pig-0.9.2.tar.gz下载

    《Pig语言与Map-Reduce:深入理解pig-0.9.2.tar.gz》 Apache Pig是Hadoop生态系统中的一个高级数据处理工具,它提供了一种面向用户的脚本语言,称为Pig Latin,用于构建Map-Reduce作业。Pig拉丁语简化了大数据处理...

    pig-0.17.0.tar的安装包,

    《Apache Pig 0.17.0 安装与配置指南》 Apache Pig 是一个用于大数据分析的平台,它提供了一种高级语言 Pig Latin 来处理大规模数据集。Pig-0.17.0 是该平台的一个稳定版本,包含了多项优化和改进,适用于Hadoop...

    大数据之pig 命令

    ### 大数据之pig命令详解 #### 一、Pig简介及与Hive的比较 Pig是一款基于Hadoop的数据处理工具,它提供了一种高级语言(Pig Latin),使得用户能够更容易地处理大规模数据集。Pig的核心设计思想是为了简化大数据...

    pig-0.9.1.tar

    《Pig-0.9.1在Hadoop环境下的安装与配置详解》 Apache Pig是Hadoop生态系统中的一个高级数据处理工具,它提供了一种基于脚本语言的接口,使得用户可以更方便地进行大规模数据集的分析。Pig-0.9.1是Pig的一个早期...

    [原创]Apache_Pig的一些基础概念及用法总结

    元组内的每个字段都有特定的数据类型,如整数、字符串或浮点数。元组可以嵌套在其他数据结构中,如关系或包,从而形成复杂的数据结构。 ##### 4. 字段(Field) **字段**是元组内的最小单位,代表单个数据项。每个...

    pig-0.16.0.tar安装包

    【标题】"pig-0.16.0.tar安装包" 涉及的主要知识点是Apache Pig的安装和使用,这是一个基于Hadoop的数据流编程平台,用于处理大规模数据集。Pig Latin是Pig的编程语言,它允许用户编写复杂的数据处理任务,而无需...

    pig udf 函数(urldecode row_number tomap)

    `urldecode` 是一个用于解码 URL 编码的字符串的函数。在处理 Web 数据或网络日志时,原始数据可能包含 URL 编码的字符,例如 `%20` 表示空格。使用 `urldecode` UDF,我们可以将这些编码转换回可读的格式。在 Pig ...

Global site tag (gtag.js) - Google Analytics