首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >存储猪的临时值

存储猪的临时值
EN

Stack Overflow用户
提问于 2017-04-14 22:54:09
回答 2查看 56关注 0票数 0

数据模式:sdesc:chararray,samt:init,syear:chararrary,stype:chararrary

数据:

代码语言:javascript
运行
复制
Wrench 259000 2000 store
Wrench 135000 2000 online
Wrench 175000 2001 online 
Wrench 180000 2001 store  

脚本

代码语言:javascript
运行
复制
ysales =LOAD ‘salesdata.txt’ using PigStorage()as (sdesc:chararray,samt:init,syear:chararrary,stype:chararrary);
basedata = FILTER ysales by (sdesc==’Wrench’) and (syear = ‘2000’ ) and (stype = ‘store);

我的结果集是: DUMP basedata;

代码语言:javascript
运行
复制
(Wrench,259000,2000,store) 

所以问题是我如何分解基础数据来拥有(例如) A = ‘Wrench’ B = 259000, C=2000, D = ‘store’

EN

回答 2

Stack Overflow用户

发布于 2017-04-17 00:05:48

您可以使用参数编号根据列提取值

代码语言:javascript
运行
复制
a = foreach basedata generate $0;
b = foreach basedata generate $1;
c = foreach basedata generate $2;
d = foreach basedata generate $3;
票数 0
EN

Stack Overflow用户

发布于 2017-04-17 15:17:19

data = load '/home/satish/wrench' using PigStorage(' ') as (name,total,year,type) ;

//如果您想使用,可以使用filter

代码语言:javascript
运行
复制
reqdata = foreach data generate CONCAT('A','=',name) as A, CONCAT('B','=',total) as B, CONCAT('C','=',year) as C,CONCAT('D','=',type) as D;

dump reqdata

(A=Wrench,B=259000,C=2000,D=store) (A=Wrench,B=135000,C=2000,D=online) (A=Wrench,B=175000,C=2001,D=online) (A=Wrench,B=180000,C=2001,D=store)

fdata = foreach reqdata generate A,B;

dump fdata

(A=Wrench,B=259000) (A=Wrench,B=135000) (A=Wrench,B=175000) (A=Wrench,B=180000)

\如果要删除元组,请使用FLATTEN

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43413995

复制
相关文章

相似问题

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