首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pig拉丁语:字符数组中的筛选号<5和>= 5(文本和数字)

Pig拉丁语:字符数组中的筛选号<5和>= 5(文本和数字)
EN

Stack Overflow用户
提问于 2019-03-28 12:49:20
回答 1查看 121关注 0票数 0

我如何过滤或分组那些5年以下和5年以上的。我对猪拉丁语很陌生。ID (例如,BUS2003 )应该保持原样。

输入数据

代码语言:javascript
复制
ID,Experience
BUS2003,More than 17 years teaching experience
BUS1303,2 years teaching experience
BUS4543,13 plus years of teaching experience; 4 plus years of corporate experience
BUS2103,4 year + 6 years in business
BUS2913,8 yrs teaching experience

我知道如何将数据加载到PigStorage或CSVloader中,但是,由于单词和数字在一起,我很难解决这些问题。

预期结果:

代码语言:javascript
复制
**Less than five years**
BUS1303,2 years teaching experience
BUS2103,4 year + 6 years in business

**Equal or greater than five years**
BUS2003,More than 17 years teaching experience
BUS4543,13 plus years of teaching experience; 4 plus years of corporate experience
BUS2913,8 yrs teaching experience

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-03-28 15:56:13

你必须提取数字,然后split.This会给你你想要的

代码语言:javascript
复制
A = LOAD 'input.txt' USING PigStorage(',') AS (a1:chararray,a2:chararray);
B = FOREACH A GENERATE a1,a2,REGEX_EXTRACT(a2,'(\\d*)',1) as exp:int;
C = SPLIT B INTO C1 IF B.exp < 5, C2 IF B.exp >= 5;
DUMP C1;
DUMP C2;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55398082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档