草庐IT

hadoop - PIG Group - 无法获得多个字段

coder 2024-01-06 原文

我想知道谁在每个部门领取最高薪水 - 我正在获得每个部门的最高薪水,但无法获得其中的名字.... 使用 pig 脚本附加文件

EmpData = LOAD '/data/EmpDet3.csv' using PigStorage(',') as 
(fname:chararray,lname:chararray,position:chararray,dept:chararray, salary:chararray);
Grp_Dept = GROUP EmpData by dept;
EmpDataC = FOREACH EmpData GENERATE fname,lname,position,dept,(int)SUBSTRING(salary,1,10) as sal;
Group_Pos = GROUP EmpDataC by position;
Max_Sal = FOREACH Group_Pos GENERATE group,MAX(EmpDataC.sal);
dump Max_Sal;

我越来越像

(FIRE ENGINEER,103331)
(POLICE OFFICER,90778)
(POLICE OFFICER2,86520)
(WATER RATE TAKER,88968)
(CIVIL ENGINEER IV,104736)
(ELECTRICAL MECHANIC,91520)
(ASST TO THE ALDERMAN,70764)
(GENERAL LABORER - DSS,40560)
(CHIEF CONTRACT EXPEDITER,84780)

我还需要下面的详细信息以及人名

(FIRE ENGINEER,Dudolfi,103331)
(POLICE OFFICER,AARON,90778)
(POLICE OFFICER2,ABBATE,86520)
(WATER RATE TAKER,AARON,88968)
(CIVIL ENGINEER IV,ABAD JR,104736)
(ELECTRICAL MECHANIC,ABBATACOLA,91520)
(ASST TO THE ALDERMAN,ABARCA,70764)
(GENERAL LABORER - DSS,ABARCA,40560)
(CHIEF CONTRACT EXPEDITER,AARON,84780)

** 我的输入文件 **

"AARON,  ELVIA J",WATER RATE TAKER,WATER MGMNT,"$88,968.00 "
"AARON,  JEFFERY M",POLICE OFFICER,POLICE,"$80,778.00 "
"AARON,  KARINA",POLICE OFFICER,POLICE,"$90,778.00 "
"AARON,  KIMBERLEI R",CHIEF CONTRACT EXPEDITER,GENERAL SERVICES,"$84,780.00 "
"ABAD JR,  VICENTE M",CIVIL ENGINEER IV,WATER MGMNT,"$104,736.00 "
"ABARCA,  ANABEL",ASST TO THE ALDERMAN,CITY COUNCIL,"$70,764.00 "
"ABARCA,  EMMANUEL",GENERAL LABORER - DSS,STREETS & SAN,"$40,560.00 "
"ABBATACOLA,  ROBERT J",ELECTRICAL MECHANIC,AVIATION,"$91,520.00 "
"ABBATEMARCO,  JAMES J",FIRE ENGINEER,FIRE,"$90,456.00 "
"ABBATE,  TERRY M",POLICE OFFICER2,POLICE,"$86,520.00 "
"XXRON,  KINA",POLICE OFFICER2,POLICE,"$50,778.00 "
"Dudolfi, Cris",FIRE ENGINEER,FIRE,"$103,331.00 "

最佳答案

好的.. 这会起作用的。但还要记住,同一职位下的两个人可以有相同的薪水,如果薪水最高,那么下面的脚本也会生成他们的记录

Emp_Data = LOAD '/data/EmpDet3.csv' using PigStorage(',') as 
(fname:chararray,lname:chararray,position:chararray,dept:chararray, salary:chararray);

Grp_Dept = GROUP Emp_Data by dept;

Emp_DataC = FOREACH Emp_Data GENERATE fname,lname,position,dept,(int)SUBSTRING(salary,1,10) as sal;

Group_Pos = GROUP Emp_DataC by position;

Pos_max_sal = FOREACH Group_Pos GENERATE group as pos,MAX(EmpDataC.sal) as highest_sal;

Emp_max_sal = join  Emp_Data by (position,salary),Pos_max_sal by (pos,highest_sal)

final_set = foreach Emp_max_sal generate position, CONCAT(fname,lname) as emp_name, salary

关于hadoop - PIG Group - 无法获得多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31238687/

有关hadoop - PIG Group - 无法获得多个字段的更多相关文章

  1. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  2. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  3. ruby-on-rails - 在 Ruby 中循环遍历多个数组 - 2

    我有多个ActiveRecord子类Item的实例数组,我需要根据最早的事件循环打印。在这种情况下,我需要打印付款和维护日期,如下所示:ItemAmaintenancerequiredin5daysItemBpaymentrequiredin6daysItemApaymentrequiredin7daysItemBmaintenancerequiredin8days我目前有两个查询,用于查找maintenance和payment项目(非排他性查询),并输出如下内容:paymentrequiredin...maintenancerequiredin...有什么方法可以改善上述(丑陋的)代

  4. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  5. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  6. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  7. ruby-on-rails - 如何验证非模型(甚至非对象)字段 - 2

    我有一个表单,其中有很多字段取自数组(而不是模型或对象)。我如何验证这些字段的存在?solve_problem_pathdo|f|%>... 最佳答案 创建一个简单的类来包装请求参数并使用ActiveModel::Validations。#definedsomewhere,atthesimplest:require'ostruct'classSolvetrue#youcouldevencheckthesolutionwithavalidatorvalidatedoerrors.add(:base,"WRONG!!!")unlesss

  8. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  9. ruby-on-rails - form_for 中不在模型中的自定义字段 - 2

    我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢

  10. ruby - 无法让 RSpec 工作—— 'require' : cannot load such file - 2

    我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳

随机推荐