课程表

Apache Pig 基础

Apache Pig 诊断运算符

Apache Pig 分组和连接

Apache Pig 合并和拆分

Apache Pig 过滤

Apache Pig 排序

Pig Latin 内置函数

Apache Pig 其他执行模式

工具箱
速查手册

Apache Pig STRSPLIT()函数

当前位置:免费教程 » 大数据/云 » Apache Pig

此函数用于通过给定的分隔符拆分给定的字符串。

语法

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

  1. grunt> STRSPLIT(string, regex, limit)

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

emp.txt

  1. 001,Robin_Smith,22,newyork
  2. 002,BOB_Wilson,23,Kolkata
  3. 003,Maya_Reddy,23,Tokyo
  4. 004,Sara_Jain,25,London
  5. 005,David_Miller,23,Bhuwaneshwar
  6. 006,Maggy_Moore,22,Chennai
  7. 007,Robert_Scott,22,newyork
  8. 008,Syam_Ketavarapu,23,Kolkata
  9. 009,Mary_Carter,25,Tokyo
  10. 010,Saran_Naidu,25,London
  11. 011,Stacy_Green,25,Bhuwaneshwar
  12. 012,Kelly_Moore,22,Chennai

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

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

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

在此示例中,我们尝试使用 STRSPLIT() 函数拆分员工的姓名和姓氏。

  1. grunt> strsplit_data = FOREACH emp_data GENERATE (id,name), STRSPLIT (name,'_',2);

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

  1. grunt> Dump strsplit_data;
  2. ((1,Robin_Smith),(Robin,Smith))
  3. ((2,BOB_Wilson),(BOB,Wilson))
  4. ((3,Maya_Reddy),(Maya,Reddy))
  5. ((4,Sara_Jain),(Sara,Jain))
  6. ((5,David_Miller),(David,Miller))
  7. ((6,Maggy_Moore),(Maggy,Moore))
  8. ((7,Robert_Scott),(Robert,Scott))
  9. ((8,Syam_Ketavarapu),(Syam,Ketavarapu))
  10. ((9,Mary_Carter),(Mary,Carter))
  11. ((10,Saran_Naidu),(Saran,Naidu))
  12. ((11,Stacy_Green),(Stacy,Green))
  13. ((12,Kelly_Moore),(Kelly,Moore))
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号