草庐IT

DISALLOWED_PIG_OPTIONS

全部标签

hadoop - 使用 Hadoop 上的 Pig 按层级根据事件频率分配用户

需要计算每个组中的用户数量,每个用户的组分配是基于他们的付款(例如,付款少于2,或介于3和5之间,或大于5)。这是我当前的代码,想知道是否有任何方法可以让它更优雅?是否可以通过一组语句来完成逻辑?谢谢。customer_group=grouppayments_feedbycustomerID;customer_payment_count=foreachcustomer_groupgeneratecustomerID,COUNT(payments_feed)aspayment_amount;tier1=filtercustomer_payment_countbypayment_amoun

PIG 的 Python UDF 给出错误

我有一个PythonUDF,可以将数据从十六进制转换为字符串。当我尝试在多个字段上调用​​UDF时,出现错误。这是我的PythonUDF。脚本是hex_to_str.py#!/usr/bin/python@outputSchema("field:chararray")defhextoStr(field):if(field!=""):returnfield.decode("hex")我正在以下面的方式调用我的pig脚本。registerfile:/home/myuser/myfolder/hex_to_str.pyusingjythonasconvert;data=LOAD'/user/

hadoop - 如何比较 PIG 中的两个元组?

我想过滤数据集A中flight_delay_time小于某个特定值(x)的记录。但是我将从另一个pig查询中获取x的值,从x是一个元组的意义上说,它是一个元组。但是使用下面的语句会抛出一个错误:B=FILTERAbyflight_delay_time文件A中的数据是这样的;ravi,savings,avinash,2,char,33,F,22,44,12,13,33,44,22,11,10,22,26avinash,current,sandeep,3,char,44,M,33,11,10,12,33,22,39,12,23,19,35supreeth,savings,prabhash,

hadoop - pig - 包含多个 jar 的注册目录

我在本地模式下运行一个pig脚本,我可以注册包含jars的目录并且一切正常:register'/home/q/2/'在mapreduce模式下运行完全相同的脚本时,我收到如下错误:atorg.apache.pig.PigServer.storeEx(PigServer.java:1034)...15moreCausedby:java.io.FileNotFoundException:/var/tmp/home/q/2(Isadirectory)请问我如何在mapreduce模式下运行时注册目录? 最佳答案 尝试在本地或mapredu

hadoop - 如何删除数据低于 pig 平均水平的元组

我有一个包含3个字段(id、名称和post_num)的包,我想删除其post_num小于每个名称的平均post_num的元组。例如,我有如下4个数据:1,Dav,52,大卫,63,大卫,44,艾德,1然后第三个数据应该被丢弃,因为Dav的平均post_num是5。我可以不用UDF吗? 最佳答案 --##Supposeyouhave--1000,SMITH,123--1001,JOHN,452--1002,TWAIN,125--1003,HARDY,124--1004,CHILD,785--1005,CHILD,639--1006,D

hadoop - 在 Hadoop Pig 中加入和分组

经常看到有人在使用groupby和join来解决同样的问题,假设我有一个学生表和分数表,想找到与类(class)分数相关的学生姓名。看来我们可以通过使用join或使用groupby来解决这个问题?想知道这两种解决方案的优缺点。发布数据结构和代码如下。谢谢。tablestudents:studentID,studentname,studentemailaddressscoretable:studentID,courseID,scorestudent_scores=groupstudentsby(studentId)inner,scoresby(studentId);student_sco

Hadoop Pig fs 测试命令

想知道这行是什么意思?四处搜索但找不到此命令的引用,Pig.fs("test-e"+pathToCheck)==0:提前致谢,林 最佳答案 使用命令行工具并运行hadoopfs-help得到:-test-[defsz]:Answervariousquestionsabout,withresultviaexitstatus.-dreturn0ifisadirectory.-ereturn0ifexists.-freturn0ifisafile.-sreturn0iffileisgreaterthanzerobytesinsize.-z

hadoop - 如何在 Pig 相同模式中加入 2 个数据集

您好,我是Pig编程的新手,遇到了一个我很难解决的问题:我有2个数据集A:(accountId:chararray,title:chararray,genre:chararray)("A123","HarryPotter","Action/Adventure")("A123","SherlockHolmes","Mystery")("B456","JamesBond","Action")("B456","Hamlet","Drama")B:(accountId:chararray,title:chararray,genre:chararray)("B456","PercyJackson

hadoop - Hadoop Pig 中的点击率计算

需要计算点击率(点击次数超过展示次数,在国家/地区级别),我列出了表结构(印象表和点击表),以及我在HadoopPig中的代码。我的问题是下面的实现是否最有效,还有更有效的解决方案吗?谢谢。表格印象:impressionID、时间戳、countryID点击表格:impressionID,时间戳joined_feed=joinimpressionbyimpressionID,clickbyimpressionID;joined_feed=foreachjoined_feedgenerateimpression::countryID,click::impressionIDisnull?0:

Hadoop Pig Max - 输出不正确

我在使用一个看似简单的PIGMAX函数时遇到了一些问题,但它对我不起作用。我做了一个分组,计算了总和。C3=FOREACHC2GENERATEgroup,SUM(C1.figures);我收到以下输出(Peter,345)(Paul,459)(Andi,500)现在我想得到最大值,这样输出就是(Andi,500)我正在尝试下面的代码C4=FOREACHC3GENERATE$0as(id:chararray),$1as(id2:long);C5=GROUPC4ALL;C6=FOREACHC5GENERATEC4.id,MAX(C4.id2);但是作为输出我得到了({Peter,Paul,