草庐IT

PIG_HOME

全部标签

hadoop - "Encountered: <EOF> after : "“”是什么意思使用 pig

我是Hadoop和Pig的初学者。我检查了在cloudera虚拟镜像中证明的例子,并对其进行了修改以计算前5个常用词:Lines=LOAD'/user/hue/pig/examples/data/midsummer.txt'as(line:CHARARRAY);Words=FOREACHLinesGENERATEFLATTEN(TOKENIZE(line))ASword;Groups=GROUPWordsBYword;Counts=FOREACHGroupsGENERATEgroup,COUNT(Words);Results=ORDERWordsBYCountsDESC;Top5=LI

hadoop - 运行 Apache Pig 脚本时如何查找 jar 依赖项?

我在运行一个简单的pig脚本以使用HBaseStorage将数据导入HBase时遇到了一些困难我遇到的错误是:Causedby:pigscriptfailedtovalidate:java.lang.RuntimeException:couldnotinstantiate'org.apache.pig.backend.hadoop.hbase.HBaseStorage'witharguments'[rdf:predicaterdf:object]'Causedby:java.lang.NoSuchMethodError:org.apache.hadoop.hbase.client.Sc

hadoop - 在 Pig 中计算统计模式

如何在不使用UDF的情况下计算ApachePig中数据集的统计模式?A,20A,10A,10B,40B,40B,20B,10data=LOAD'myData.txt'USINGPigStorage(',')ASkey,value;byKey=GROUPdataBYkey;mode=FOREACHbyKeyGENERATEMODE(data.value);--HowtodefineMODE()??DUMPmode;--Correctanswer:(A,10),(B,40) 最佳答案 这是一个版本,每个键只能找到一个结果:data=LO

hadoop - 在 Apache Pig 中取消分组

ApachePig是否支持UNGROUP操作?我想没有。那么有人可以帮我解决这个问题吗?我有一排表格1,a-b-c2,d-e-f3,g-h我想把它展开成这样的形式1,a1,b1,c2,d2,e2,f3,g3,h感谢任何帮助。 最佳答案 您可能应该使用内置的STRSPLIT将您的第二个字段拆分为多个标记,然后应用FLATTEN为每个元素创建1行。像这样:A=LOAD'input.txt'as(id,data);B=FOREACHAGENERATEid,FLATTEN(STRSPLIT(data,'-'));

hadoop - pig CPU 密集型任务 - 小数据文件 - 许多映射器?

我正在寻找有关如何通过我的Pig作业提高性能的任何提示。输入是单个文件(MB),但对于文件中的每一行,都会执行一个CPU密集型任务。因此,理想的做法是将此文件拆分到我的AmazonEMR集群中的许多映射器(和机器)。但是我找不到一种方法来做到这一点,因为Hadoop自然只会以64(或者是128?)MB间隔进行拆分,所以我只有1个映射器!我看过NLineInputFormat(http://www.olenick.com/blog/hadoop-for-small-data/),但这是针对旧API的,也不确定它如何与Pig一起使用。为了让事情更复杂,我正在使用CSVExcelStorag

hadoop - Cloudera CDH VM 默认 HADOOP_HOME 位置

ClouderaCDH4VM中的默认HADOOP_HOME位置是什么。echo$HADOOP_HOME返回空白。 最佳答案 /usr/lib/hadoop是CDH4中的默认HADOOP_HOME。关于弃用,HADOOP_PREFIX似乎是HADOOP_HOME的替代品:$HADOOP_HOMEisdeprecated我相信HADOOP_MAPRED_HOME仅用于mapreduce基础设施,如果您直接使用HDFS,那么您可能需要HADOOP_PREFIX。 关于hadoop-Cloude

hadoop - apache pig 中的 "substr"语句

我在apachehadoop中有以下用户数据结构21796346,83637,2990666,1,2,false,0,021827841,15748,8754621,1,7,true,0,1第一个字段的前4位数字代表用户类型。第二个字段代表部门类型。我想查询每个部门的用户类型数。SQL语句如下selectdept_id,substr(User_Id,1,4)asuser_type,count(*)asnumber_of_usersfromusersgroupbydept_id,substr(User_Id,1,4)我不知道如何在pig中定义substr函数。

hadoop - pig : Failed to parse: mismatched input 'id' expecting set null

我正在使用Pig0.12.1并具有以下Pig代码:C=LOAD'$file'USINGmyCustomLoader();D=FOREACHCGENERATEkey#id;我正在使用自定义加载程序加载文件。然后我想生成存储在key中的所有ID,一个映射。为什么我会收到以下错误消息:14/06/2716:56:21ERRORpig.PigServer:exceptionduringparsing:Errorduringparsing.mismatchedinput'id'expectingsetnullFailedtoparse:mismatchedinput'id'expectingse

hadoop - 在 hive 或 Pig 中创建序列号

我面临数据转换问题:我这里的表格有3列:客户端、事件、时间戳。我基本上想根据时间戳为给定客户端的所有事件分配一个序列号,这基本上是我在下面添加的“序列”列。ClientEventTimeStampSequenceC1Ph2014-01-3012:15:231C1Me2014-01-3115:11:342C1Me2014-01-3117:16:053C2Me2014-02-0109:22:521C2Ph2014-02-0117:22:522我不知道如何在hive或Pig中创建这个序列号。你有什么线索吗?提前致谢!纪尧姆 最佳答案 将所

hadoop - 如何在 Pig Latin 中实现 Levenshtein 算法

我有两个数据集。A{(1,apple),(2,orange),(3,banana)}和B={(1,oracle),(2,ape),(3,naana),(4,orlando),(5,应用程序)(6,横幅)}我有一个udf,它在两个字符串之间给出Levenshtein分数。但是如何计算A中的每个字段与B中的所有字段以获得B中最匹配的字符串。例如,A中“apple”的Levenshtein得分对于app的得分高于B中的ape甲骨文在A中的Levenshtein得分比奥兰多在B中得分更高A中“banana”的Levenshtein得分更多的是naana而不是B中的banner。