我有两个数据集,一个用于电影,另一个用于评级电影数据看起来像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
我有一个数据集,例如:UserIDItemEventType001ABuy001BSell031ASell008CBuy001CBuy001ABuy008CSell如何将EventType列拆分为每个事件的不同列。也就是说,我想要两个新列EventType_Buy和EventType_Sell,其中包含每个UserID和Item对的这些事件的发生次数。所以输出应该是这样的:UserIDItemEventType_BuyEventType_Sell001A20001B01001C10008C11031A01我对排序不太感兴趣,但我计划稍后在R中使用此数据,因此我需要一些帮助来尝试执行此拆
我找不到任何解决方案如何根据规则在Pig中从一个元组生成一组元组:输入:((1,2,3),(a,b,c),(aaa,bbb,ccc))输出:(1,a,aaa)(2,b,bbb)(3,c,ccc)假设应该应用TOBAG和FLATTEN,但这似乎太棘手了。 最佳答案 使用zip内置函数和参数解包(“star”args):>>>x=((1,2,3),('a','b','c'),('aaa','bbb','ccc'))>>>tuple(zip(*x))((1,'a','aaa'),(2,'b','bbb'),(3,'c','ccc'))>>
谁能帮我从我的csv文件中删除旧记录并使用Pig保留最近的记录。例如:输入Key1日期XXXXXP3817-10-2017XXXXXP3812-10-2017YYYYYP3811-10-2017YYYYYP3823-09-2017YYYYYP3814-09-2017ZZZZZP3825-10-2017ZZZZZP3810-10-2017我的预期输出是Key1日期XXXXXP3817-10-2017YYYYYP3811-10-2017ZZZZZP3825-10-2017并且header也包含在输出中。请建议我怎样才能做到这一点? 最佳答案
在以mapreduce模式启动Pig之前,您始终必须启动历史服务器,否则在尝试执行PigLatin语句时会生成以下日志:2018-10-1815:59:13,709[main]INFOorg.apache.hadoop.mapred.ClientServiceDelegate-Applicationstateiscompleted.FinalApplicationStatus=SUCCEEDED.**Redirectingtojobhistoryserver**2018-10-1815:59:14,713[main]INFOorg.apache.hadoop.ipc.Client-Re
我正在为Pig开发JsonStorage。一切正常,但至少我需要从pig模式中获取字段的名称(即crdate、名称、位置)。|A|crdate:bytearray|name:bytearray|positions:bytearray|实际上我通过StoreFunc扩展了我的类,它不提供获取字段名称的函数。publicclassPigJsonStorageextendsStoreFunc{..}谁能帮帮我:) 最佳答案 免责声明:我对自己有点陌生,还没有实现存储类。在我看来,StoreFunc有一个方法:StoreFunc.check
有没有人遇到过这个问题?这是错误日志:协议(protocol)org.apache.hadoop.mapred.JobSubmissionProtocol版本不匹配。(客户端=20,服务器=21)我用的是pig0.8.0,我的hadoop版本是0.20.10。如果有人能帮助我,我将不胜感激。 最佳答案 我认为Pig0.8.0与Hadoop0.20.2捆绑在一起,即使是较小的版本差异也很重要。因此,例如,您可以使用Hadoop0.20.10重新编译Pig,以便在双方都具有相同的Hadoop版本。
任何人都知道如何从pig脚本调用perl脚本..我也想知道如何从perl调用pig..请帮我解决这个问题。谢谢,兰吉斯 最佳答案 第一个问题:“从pig调用perl脚本”最接近的结果是Pig'sstreamingcapability.文档中的示例:A=LOAD'data';B=STREAMATHROUGH'stream.pl-n5';您必须确保您的perl脚本通过标准输入接收数据并通过标准输出输出数据。这是Pig通过您正在进行的调用流式传输数据的方式。我不确定脚本应该输入和输出的数据格式是什么(您可能需要尝试一个示例)。第二个问题:
我需要“转置”如下所示的数据:idCity111Chicago111NewYork111LA222Paris222London222Tokyo到:111ChicagoNewYorkLA222ParisLondonTokyo每个id都有三个条目,因此生成的关系将有4个字段。我试图避免使用UDF。有任何想法吗? 最佳答案 这不是基本分组吗?B=GROUPABYid检查http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#GROUP 关于ha
我正在从this安装Apachepig的piggybank|教程。当我使用ant构建源代码时,我观察到它安装了apachehive和hbase。谁能告诉我为什么这样做?Dosepig使用hive和hbase? 最佳答案 Pig有HBase和Hive作为依赖,因为它有一个HBaseloader和一个Hiveloader标准发行版附带的。我不担心它们会被安装。他们只是构建jar,而不是部署任何东西。 关于java-安装ApachePig,为什么我看到Hbase和Hive正在安装?,我们在St