草庐IT

hadoop - 在 Pig StoreFunc 中访问分布式缓存

我已经查看了有关该主题的所有其他主题,但仍未找到答案...简单地说,我想从PigStoreFunc访问hadoop分布式缓存,而不是直接从UDF中访问。相关PIG代码行:DEFINECustomStorageKeyValStorage('param1','param2','param3');...STOREBLAHINTO/path/usingCustomStorage();相关Java代码:publicclassKeyValStorageextendsBaseStoreFunc/*ElephantBirdStoragewhichinheritsfromStoreFunc*/{...p

hadoop - 如何在 pig 中插入虚拟 map 值

我正在对袋子的null和empty进行条件检查。包含多个map数组。每当“信息”为空或为空时,我想将虚拟map值放入其中。因为在下一步中,我要对“信息”进行FLATTEN操作。为什么我需要这个,因为FLATTEN中的null或空包将从我不需要的数据中删除完整记录。((infoisnullorIsEmpty(info))?{(['Unknown'#'unknown'])}:info)asinfo;这是给我以下编译错误?2014-09-0206:20:37,978[main]错误org.apache.pig.tools.grunt.Grunt-错误1000:解析期间出错。在第24行第70列

hadoop - pig - 计算整个组的成员

假设我有一个关系Students,具有字段grade和teacher。我想按年级和老师分组,但保留每个组中每个年级的所有学生的数量。像这样的东西:classes=GROUPStudentsBY(grade,teacher);classes=FOREACHclasses{GENERATE(###COUNTOFALLSTUDENTSINGRADE###)asgrade_size,Studentsasstudents,teacherasteacher;}但我不知道如何从组语句内部进行过滤。某种过滤器,但我不知道如何确定组外学生和组内学生的成绩。 最佳答案

hadoop - 如何从 pig 的 map 中检索最大值

我有一个关系。描述书籍->{map[]}。这里是一对,键是AshokLeyLand,值是Ashok0.15AshokLeyLand#Ashok0.15.AshokLeyLand#Land0.012.AshokLeyLand#Ley0.002.AshokLeyLand#Ashoka0.09.HeroCyclesLimited#HeroCycles0.72HeroCyclesLimited#Hero0.06HeroCyclesLimited#HeroLimited0.54HeroCyclesLimited#Cycles0.01我想要值(value)最高的一对。需要输出为AshokLeyLa

datetime - 加载日期时间字段在 pig latin 0.12 中不起作用

我使用的是pig0.12,这里的文档说它支持datetime数据类型http://pig.apache.org/docs/r0.12.0/basic.html#data-types但是下面的LOAD语句在第一个字段上给我一个UnsupportedOperationException。hdfs位置包含制表符分隔的文件,第一个字段采用YYYY-mm-DD格式。rsa=LOAD'/mypath/*'USINGPigStorage()as(hit_date:datetime,agency_id:long,agency_name:chararray,....);错误2999:意外的内部错误。空j

hadoop - 在 Pig 脚本中获取意外符号

我正在使用pig读取文件,并希望将这些数据传递给java方法并对记录进行计数。但是我遇到了异常,请帮助我了解为什么会遇到此异常REGISTER/user/rakeshar/test.jarDEFINETestcom.msdw.rakesh.Test;temperature=LOAD'NYQ_MWDATA_ge2_fact.csv'USINGPigStorage(',')AS(period_fundmtls_id:int,metric_def_id:int,real_value:double,currency_unit_id:int,observation_type_cd:chararr

hadoop - Pig 中元组值的中位数?

我有一个包含一些数字的元组。例如:(a:17,b:14,c:123,d:23,e:37)找到该元组中数字的中位数的最佳方法是什么?因此,对于上面的一袋元组,我应该得到一袋单值元组,其中单个值是其中一个输入元组中值的中值。像这样:x=LOAD'/path/to/tuples.csv'USINGPigLoader(',')AS(a:int,b:int,c:int,d:int,e:int);y=FOREACHxGENERATEMEDIAN(a,b,c,d,e);我只是不知道如何构建上面的MEDIAN函数。我希望我不需要UDF! 最佳答案

file - 在 Pig 中使用 LOAD 时排除某些文件被加载

我试图通过LOAD命令将sqoop作业的输出加载到Pig中。我只想加载以名称“part”开头的文件。如何排除同一文件夹中存在的其他文件被加载。请帮忙。 最佳答案 这样加载,就可以了A=LOAD'part*'usingPigStorage(',');DUMPA;Example:part_input.txt1,2,34,5,6input.txt99.0,55.0,56.312.4,55.66,78.09output:1,2,34,5,6 关于file-在Pig中使用LOAD时排除某些文件被加

java - foreach 生成循环中的 Hadoop PIG 自定义 UDF 方法

是否可以编写将执行以下操作的UDF函数records=loadINPUTusingPigStorage()AS(vin:chararray,longString:chararray);simpleData=foreachrecordsgeneratevin,myUdfFunctionGetValue(longString,'someKey');这里longString的结构是"key:Value;key2:Value2,someKey:Value3...."所以我需要解析longString并获取询问键的值。我会走错方向吗?这在PIG中可能吗? 最佳答案

hadoop - Pig 连接中的转换错误

我有一个执行JOIN的脚本;当我在小数据上运行它时它成功了,但是当我增加数据大小时我得到这个错误:14/10/0719:10:19ERRORexecutionengine.Launcher:Backenderrormessageorg.apache.pig.backend.executionengine.ExecException:ERROR0:Exceptionwhileexecuting[POProject(Name:Project[tuple][0]-scope-577OperatorKey:scope-577)children:nullat[]]:java.lang.Class