×

Apache Pig 介绍

Apache Pig 概述Apache Pig 架构

Apache Pig 环境

Apache Pig 安装Apache Pig 执行Apache Pig Grunt Shell

Pig Latin 介绍

Pig Latin 基础

Apache Pig 加载和存储

Apache Pig 加载数据Apache Pig 存储数据

Apache Pig 诊断运算符

Apache Pig Diagnostic运算符Apache Pig Describe运算符Apache Pig Explain运算符Apache Pig illustrate运算符

Apache Pig 分组和连接

Apache Pig Group运算符Apache Pig Cogroup运算符Apache Pig Join运算符Apache Pig Cross运算符

Apache Pig 合并和拆分

Apache Pig Union运算符Apache Pig Split运算符

Apache Pig 过滤

Apache Pig Filter运算符Apache Pig Distinct运算符Apache Pig Foreach运算符

Apache Pig 排序

Apache Pig Order By运算符Apache Pig Limit运算符

Pig Latin 内置函数

Apache Pig Eval函数Apache Pig 加载和存储函数Apache Pig 包和元组函数Apache Pig 字符串函数Apache Pig 日期时间函数Apache Pig 数学函数

Apache Pig 其他执行模式

Apache Pig 用户定义函数Apache Pig 运行脚本

Apache Pig 有用的资源

Apache Pig 有用资源Apache Pig 讨论

Apache Pig STRSPLITTOBAG()函数


Apache Pig 字符串函数Apache Pig 字符串函数


此函数类似于 STRSPLIT() 函数。它使用给定的分隔符分隔字符串,并将结果返回到包中。

语法

STRSPLITTOBAG() 的语法如下。此函数接受需要拆分的字符串,正则表达式和指定限制的整数值(字符串应该拆分的子字符串数)。当遇到给定的正则表达式时,此函数解析字符串,它将该字符串拆分为 n 个子字符串,其中 n 将传递给limit

grunt> STRSPLITTOBAG(string, regex, limit)

假设在 HDFS 目录 /pig_data/ 中有一个名为 emp.txt 的文件,如下所示。此文件包含员工详细信息,如id,姓名,年龄和城市。

emp.txt

001,Robin_Smith,22,newyork 
002,BOB_Wilson,23,Kolkata 
003,Maya_Reddy,23,Tokyo 
004,Sara_Jain,25,London 
005,David_Miller,23,Bhuwaneshwar 
006,Maggy_Moore,22,Chennai 
007,Robert_Scott,22,newyork 
008,Syam_Ketavarapu,23,Kolkata 
009,Mary_Carter,25,Tokyo 
010,Saran_Naidu,25,London 
011,Stacy_Green,25,Bhuwaneshwar 
012,Kelly_Moore,22,Chennai

通过使用 emp_data 关系将此文件加载到Pig中,如下所示。

grunt> emp_data = LOAD 'hdfs://localhost:9000/pig_data/emp.txt' USING PigStorage(',')
   as (id:int, name:chararray, age:int, city:chararray);

以下是 STRSPLITTOBAG() 函数的示例。如果你观察emp.txt文件,可以发现在 name 列中,我们有由分隔符"_"分隔的员工的姓名和姓氏。

在此示例中,我们尝试拆分员工的姓名和姓氏,并使用 STRSPLITTOBAG() 函数在包中获取结果。

grunt> strsplittobag_data = FOREACH emp_data GENERATE (id,name), STRSPLITTOBAG (name,'_',2);

语句的结果将存储在名为 strsplittobag_data 的关系中。使用Dump运算符验证关系 strsplittobag_data 的内容,如下所示。

grunt> Dump strsplittobag_data;
  
((1,Robin_Smith),{(Robin),(Smith)}) 
((2,BOB_Wilson),{(BOB),(Wilson)}) 
((3,Maya_Reddy),{(Maya),(Reddy)}) 
((4,Sara_Jain),{(Sara),(Jain)}) 
((5,David_Miller),{(David),(Miller)}) 
((6,Maggy_Moore),{(Maggy),(Moore)}) 
((7,Robert_Scott),{(Robert),(Scott)}) 
((8,Syam_Ketavarapu),{(Syam),(Ketavarapu)}) 
((9,Mary_Carter),{(Mary),(Carter)})
((10,Saran_Naidu),{(Saran),(Naidu)}) 
((11,Stacy_Green),{(Stacy),(Green)}) 
((12,Kelly_Moore),{(Kelly),(Moore)}) 

Apache Pig 字符串函数Apache Pig 字符串函数


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)