草庐IT

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中使用此数据,因此我需要一些帮助来尝试执行此拆

hadoop - 从 PIG 中的一个元组生成一组元组

我找不到任何解决方案如何根据规则在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'))>>

hadoop - 如何在 Pig 中按列删除重复项

谁能帮我从我的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也包含在输出中。请建议我怎样才能做到这一点? 最佳答案

hadoop - Hadoop 中的作业历史服务器是什么?为什么在 Map Reduce 模式下启动 Pig 之前必须启动历史服务器?

在以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

java - 从 Pig 获取字段模式的名称

我正在为Pig开发JsonStorage。一切正常,但至少我需要从pig模式中获取字段的名称(即crdate、名称、位置)。|A|crdate:bytearray|name:bytearray|positions:bytearray|实际上我通过StoreFunc扩展了我的类,它不提供获取字段名称的函数。publicclassPigJsonStorageextendsStoreFunc{..}谁能帮帮我:) 最佳答案 免责声明:我对自己有点陌生,还没有实现存储类。在我看来,StoreFunc有一个方法:StoreFunc.check

hadoop - Pig 版本不匹配 (Hadoop)

有没有人遇到过这个问题?这是错误日志:协议(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版本。

hadoop - 如何从 PIG.. 调用 perl 脚本?

任何人都知道如何从pig脚本调用perl脚本..我也想知道如何从perl调用pig..请帮我解决这个问题。谢谢,兰吉斯 最佳答案 第一个问题:“从pig调用perl脚本”最接近的结果是Pig'sstreamingcapability.文档中的示例:A=LOAD'data';B=STREAMATHROUGH'stream.pl-n5';您必须确保您的perl脚本通过标准输入接收数据并通过标准输出输出数据。这是Pig通过您正在进行的调用流式传输数据的方式。我不确定脚本应该输入和输出的数据格式是什么(您可能需要尝试一个示例)。第二个问题:

hadoop - 在 Apache Pig Latin 中转置数据

我需要“转置”如下所示的数据:idCity111Chicago111NewYork111LA222Paris222London222Tokyo到:111ChicagoNewYorkLA222ParisLondonTokyo每个id都有三个条目,因此生成的关系将有4个字段。我试图避免使用UDF。有任何想法吗? 最佳答案 这不是基本分组吗?B=GROUPABYid检查http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#GROUP 关于ha

java - 安装 Apache Pig,为什么我看到 Hbase 和 Hive 正在安装?

我正在从this安装Apachepig的piggybank|教程。当我使用ant构建源代码时,我观察到它安装了apachehive和hbase。谁能告诉我为什么这样做?Dosepig使用hive和hbase? 最佳答案 Pig有HBase和Hive作为依赖,因为它有一个HBaseloader和一个Hiveloader标准发行版附带的。我不担心它们会被安装。他们只是构建jar,而不是部署任何东西。 关于java-安装ApachePig,为什么我看到Hbase和Hive正在安装?,我们在St