草庐IT

pig4cloud

全部标签

java - 在单列上应用 Pig UDF 并自动生成所有其他列

我有一个PigUDF,可将我的管道分隔数据文件中的Ebcidic字符转换为ASCII。我有数百列,我希望我的UDF应用于第70列。我如何在该特定列上应用UDF并将列数据替换为数据集中的ASCII。REGISTERpigudf-0.0.1.jar;DEFINEEbc2Asccom.z.pig.udf.Ebc2Asc;A=LOAD'/user/T4/cobDump.txt'USINGPigStorage('|');B=FOREACHAGENERATEEbc2Asc($71)astxt:chararray;DUMPB;如果我们像上面那样调用脚本,我只会得到转换后的列作为结果的一部分。如何获取

hadoop - 有人可以解释 pig 身上的这个奇怪错误吗

我在pig中使用宏,但它抛出一个错误提示:未定义的别名“result_1”。我正在使用的宏:definemacro_result(source,metric_name,metric_value)returnsresult_metric{result_1=foreach$sourcegeneratetimestamp,member_skasid,'$metric_name'asminor_metric,'Lts_seo'asmajor_metric,$metric_valueasvalue;$result_metric=result_1;};我将宏称为:page_views_to_jse

hadoop - PIG Latin 中的 JOIN 条件

SQLSELECTm.x,m.y,n.a,n.bfrommydata1m,mydata2nWHEREm.x=n.aANDm.y>=n.ypigA=LOAD'mydata1'AS(x:int,y:datetime);B=LOAD'mydata2'AS(a:int,b:datetime);我现在需要使用上述sql条件连接两个表。我将如何使用连接条件在PIG中实现上述逻辑? 最佳答案 试试这个:A=LOAD'mydata1'AS(x:int,y:datetime);B=LOAD'mydata2'AS(a:int,b:datetime);C

hadoop - 使用 oozie 调用 pig - org.apache.pig.Main 退出代码 [2]

我正在尝试在Oozie中调用Pig操作,并且我正在处理以下内容-Ooziev3.3.2Pigv0.12.1-maprHadoopv1.0.3maprM5我现在可以使用Oozie调用java操作。但是,当我尝试调用Pig操作时,它失败了,但并没有透露太多-[Map/Reducefailed,errormessage[${wf:errorMessage(wf:lastErrorNode())}]],afterresolve[Map/Reducefailed,errormessage[Mainclass[org.apache.oozie.action.hadoop.PigMain],exit

sql - 为什么 A 和 B 的内部连接比 Pig 中的 A 或 B 产生更多的结果?

我的理解是,内部连接应该采用具有相同键的A和B的交集,因此交集中的结果数永远不应超过A或B。但是,我运行了一个pig脚本,它默认情况下应该执行内部联接,这表明交集中的结果多于A或B。这可能是什么原因造成的?OLD_count=FOREACH(GROUPOLDALL)GENERATECOUNT(OLD);NEW_count=FOREACH(GROUPNEWALL)GENERATECOUNT(NEW);G=JOINNEWBY(X,Y),OLDby(X,Y);JOIN_count=FOREACH(GROUPGALL)GENERATECOUNT(G);DUMPOLD_count;DUMPNEW

hadoop - Apache pig : How to load a sequence file which is stored in hdfs?

我的序列文件直接存储在hdfs例如:grunt>lsgrunt>ls/blablahdfs://namenode1:54310/blabla/0411f03a-db7f-48d0-9542-5203304e3e81.seq185284523hdfs://namenode1:54310/blabla/05be8fc0-e967-42e1-b76a-0d7108a69d17.seq201489688hdfs://namenode1:54310/blabla/06222427-519c-49c0-bbbf-49a9f43bbd13.seq196858576hdfs://namenode1:5

hadoop - 如何从机器内部在 google cloud dataproc 上运行配置单元?

我刚刚创建了一个谷歌云数据处理集群。一些基本的东西对我不起作用:我正在尝试从主节点运行Hive控制台,但它无法加载除root以外的任何用户(看起来有锁,控制台只是卡住了)。但即使在使用root时,我也会看到一些奇怪的行为:“显示表格;”显示名为“输入”的表查询该表会引发一个异常,表示未找到该表。不清楚哪个用户正在通过网络用户界面创建表格。我创建了一个作业并执行了它,但随后没有通过控制台看到结果。找不到关于此的任何好的文档-有人对此有想法吗? 最佳答案 由于默认的Metastore配置,目前运行hive命令有些问题。我建议您使用bee

hadoop - 如何使用多个 ctrl 分隔符在 pig 中加载数据

我在pig中加载一个文件,分隔符为'^A^E^A'我尝试了以下命令,但它不起作用。data=LOAD'test.txt'USINGPigStorage('\u0001\u0005\u0001')AS(user,time,query);我错过了什么吗?或者有没有办法直接使用PigStorage指定上述分隔符?怎么办?谢谢。 最佳答案 加载数据为line:chararray将“\u0001\u0005\u0001”替换为“|”或','使用“|”分割结果行或','以生成所需的列。data=LOAD'test.txt'as(line:cha

hadoop - Pig- 无法转储数据

我有两个数据集,一个用于电影,另一个用于评级电影数据看起来像MovieID#Title#Genre1#ToyStory(1995)#Animation|Children's|Comedy2#Jumanji(1995)#Adventure|Children's|Fantasy3#GrumpierOldMen(1995)#Comedy|Romance评分数据看起来像UserID#MovieID#Ratings#RatingsTimestamp1#1193#5#9783007601#661#3#9783021091#914#3#978301968我的脚本如下1)movies_data=LOA

hadoop - 根据 Pig 中一列的每个唯一值的计数创建列

我有一个数据集,例如:UserIDItemEventType001ABuy001BSell031ASell008CBuy001CBuy001ABuy008CSell如何将EventType列拆分为每个事件的不同列。也就是说,我想要两个新列EventType_Buy和EventType_Sell,其中包含每个UserID和Item对的这些事件的发生次数。所以输出应该是这样的:UserIDItemEventType_BuyEventType_Sell001A20001B01001C10008C11031A01我对排序不太感兴趣,但我计划稍后在R中使用此数据,因此我需要一些帮助来尝试执行此拆