我写了一个非常简单的Python,这是我的UDF代码、pig代码和错误消息,有什么问题吗?谢谢。UDF(测试.py),@outputSchema("cookie:chararray")defgetSimple():return'Hello'pig代码,registertest.pyusingjythonasTestSimple;a=TestSimple.getSimple()asword;错误信息,[main]ERRORorg.apache.pig.tools.grunt.Grunt-ERROR1200:Syntaxerror,unexpectedsymbolatornear'a'提前
我有一个文本文件,每一行都是一个字符串,我想从文本文件中的所有字符串构造一个元组。想知道如何在Pig中实现?提前致谢,林 最佳答案 @LinMa:如果目标是将每一行都作为Tuple中的一个字段,那么我们可以使用下面的代码片段。输入:line1data....line2data....line3data....lineNdata.....pig脚本:text_data=LOAD'text_data.txt'USINGPigStorage('\n')AS(line_data:chararray);text_data_gpr_all=GR
我有2个文件(消息、key)。我想从“消息”中提取所有包含“键”中的单词的行。messages=LOAD'my-messages.txt'as(message:chararray);keys=LOAD'keys.txt'as(key:chararray);现在我知道我可以在消息和键之间进行内部连接,但这在以下情况下不起作用:message="hithere"key="hi"我正在考虑使用UDF来绕过它:DEFINEcontainsKeymy.udf.Matches("path/keys.txt");matches=FILTERmessagesBYcontainsKey(messages
我有问题,求和2个日志文件。示例文件:文件-1id用户View1AAA22BBB53CCC9文件-2id用户查看地址1AAA5XXX2BBB2YYY6FFF4ZZZ我想通过id和sum(View)对两个文件求和,我希望输出:输出:iduserviewaddress1AAA7XXX2BBB7YYY我应该尝试用代码连接两个文件,但我不对两个文件求和:我的代码:inputdata=LOAD'/user/hdfs/tes/part-1'AS(id:chararray,user:chararray,view:int);inputdata2=LOAD'/user/hdfs/tes/part-2'A
例如,relation1:{a:chararray,b:chararray}(1,abc)(2,asd)relation2:{a:chararray,c:chararray}(1,2.5)(2,4.0)问题是:是否有可能得到与模式的结果关系,如下所示:例如:realtion1中的元组数为2,relation2中的元组数为2。结果关系中的元组数也应仅为2。relation3:{a:chararray,b:chararray,c:chararray}(1,abc,2.5)(2,asd,4.0)谁能帮忙解决一下。 最佳答案 joined=
我正在使用Pig来运行我的hadoop作业。当我运行pig脚本然后导航到YARN资源管理器UI时,我可以看到为同一个Pig作业创建了多个MapReduce作业?我相信Hive作业也是如此。谁能告诉我这背后的原因?在什么基础上将一项Pig作业拆分为多个MapReduce作业?其中之一恰好是TempletonControllerJob。谢谢 最佳答案 TempletonController作业就像一个父作业,它将调用另一个子map-reduce作业。基本就是控制执行。在执行之前,Pig基本上会制定一个执行计划-它会扫描pig脚本中的所有
我有一个pig脚本,我想每周在hadoop集群上自动执行它。我可以使用cron作业来执行此操作吗?我怎样才能执行这个解决方案?请帮忙 最佳答案 是的,您可以使用cron作业实现此目的。在unix脚本中包含pig脚本及其相关配置和参数的执行。只需从crontab安排脚本。执行命令将是pig(参数)(脚本) 关于hadoop-每周在hadoop上运行pig脚本,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我正在mapreduce模式下运行PIG脚本。该脚本读取RCFile(包含以GZIP压缩格式存储的Thrift序列化数据),使用UDF对其进行反序列化,从Thrift结构中提取某些字段并存储它们。一些映射器因以下错误而失败:2015-12-2303:07:45,638FATAL[Thread-5]org.apache.hadoop.mapred.YarnChild:Errorrunningchild:java.lang.NoSuchMethodError:org.apache.thrift.protocol.TProtocol.getScheme()Ljava/lang/Class;a
当我尝试通过终端运行pig并给出命令pig时。显示错误:16/01/2202:51:54INFOpig.ExecTypeProvider:TryingExecType:LOCAL16/01/2202:51:54INFOpig.ExecTypeProvider:TryingExecType:MAPREDUCE16/01/2202:51:54INFOpig.ExecTypeProvider:PickedMAPREDUCEastheExecType2016-01-2202:51:54,470[main]INFOorg.apache.pig.Main-ApachePigversion0.13.
假设我有一堆从PigUDF生成的数据包,其中包含多个字符串元组。我怎样才能将它们全部从数据包中拉出来并简单地使每个字符串成为它自己的数据“行”。databags=FOREACH数据生成pigUdfThatMakesDataBags(data::someText);strings=FOREACH数据包{???}; 最佳答案 databags=FOREACHdataGENERATEpigUdfThatMakesDataBags(data::someText);datatuples=FOREACHdatabagsFLATTEN($0);-