草庐IT

hadoop - Pig Schema 错误意外字符 ':'

我正在尝试使用2B:chararray作为一列的名称来创建一个pig模式。它给我一个错误信息2B:chararrayUnexpectedcharacter':'如果删除了该架构,则会创建该架构。这里有什么问题?架构是load'Batting.csv'usingorg.apache.pig.piggybank.storage.CSVExcelStorage(',','YES_MULTILINE','NOCHANGE','SKIP_INPUT_HEADER')as(yearID:int,sting:chararray,teamID:chararray,lgID:chararray,G:ch

hadoop - 当键分为几列时,如何在 Apache Pig 中加入两个商店?

我有两个存储的数据集:AASDFGFG5789BASDFGFG5789我想按A1和B1+2加入这两个数据集。我知道数据集A中的col1等于数据集B中的cols1+2。它们相同,但在B中拆分。我也知道B1的长度始终为5个字符,但我不能确定B2将是2个字符。最好不修改源文件,我该如何执行这样的连接? 最佳答案 您可以使用CONCAT(b1,b2)作为b1_new在关系B中生成一个新列,然后加入A和新关系说B_New使用B_New中的新列。假设您的文件是制表符分隔的A=LOAD'A.txt'USINGPigStorage('\t')AS(

hadoop - pig - 试图避免交叉

我会引用我之前的question.基本上我有这两个数据集。并使用地点名称,我想输出每个地点在推文消息中出现的次数。我得到的答案适用于小数据集,但假设我有10000个地点和20000条推文消息,使用CROS会给我一个与200m记录的关系,这相当很多。上一个问题中提供了简单的数据集,我目前使用的PIG脚本如答案中所建议的那样。我正在寻找如何在没有CROSS产品的情况下进行计数的想法。谢谢!REGISTERpiggybank.jarvenues=LOAD'venues_mid'USINGorg.apache.hcatalog.pig.HCatLoader();tweets=LOAD'twee

hadoop - 如何在 Pig 中使用 PigDump()?

我正在尝试使用PigDump()存储数据,但出现以下错误。grunt>TxtLdr=load'/wordcountdata.txt'usingTextLoader();grunt>STORETxtLdrinto'/pigdmpOP'usingPigDump();2014-07-3019:59:39,102[main]ERRORorg.apache.pig.tools.grunt.Grunt-ERROR1070:CouldnotresolvePigDumpusingimports:[,java.lang.,org.apache.pig.builtin.,org.apache.pig.im

linux - 如何针对目录中的多个文件执行 Pig 脚本

看起来很简单,我可以用另一种语言轻松地做到这一点,但我正在努力寻找使用Pig的答案。我可以每天将一个或多个日志文件转储到一个目录中。我想迭代调用每个文件并将其传递给Pig脚本进行处理。我知道参数替换,但如何遍历文件并传递/调用我的Pig脚本?谢谢。 最佳答案 你可以直接在Pig中使用通配符:a=load'/user/hadoop/test/*.csv'usingPigStorage(',');dumpa;如果您的文件存储在您的本地驱动器上,您需要先将它们上传到HDFS中:hadoopfs-put/localdir/*.csv/use

hadoop - 处理 PIG Latin 中的重复记录

如果文件中有重复项,则第一个记录应转到有效文件,其余重复记录应使用PIG脚本移至无效文件。场景如下。Input:Acc|Phone|Name1234|333-444-5555|XYZ4567|222-555-1111|ABC1234|234-123-0000|DEF9999|123-456-1890|PQR8734|456-879-1234|QWE4567|369-258-0147|NNN1234|987-654-3210|BLSoutput:Twofiles1.Validrec:1234|333-444-5555|XYZ4567|222-555-1111|ABC9999|123-45

hadoop - 读取带有换行符的文件作为 pig 中的元组

是否可以将记录分隔符从换行符更改为其他字符串,以便将带有换行符的文件读入pig中的单个元组。 最佳答案 是的。A=LOAD'...'USINGPigStorage(',')AS(...);//commaisthedelimeterforfieldsSETtextinputformat.record.delimiter'';//recorddelimeter,bydefaultitis`\n`.Youcanchangetoanydelimeter. 关于hadoop-读取带有换行符的文件作

csv - Pig 如何使用过滤器格式化半结构化 CSV

我有半结构化的CSV,看起来像这样。VTS,01,0099,7022606164,SP,GP,33,060646,A,1258.9805,N,07735.9303,E,0.0,278.6,280515,0000,00,4000,11,999,842,4B61VTS,01,0099,7022606164,NM,GP,20,060637,A,1258.9805,N,07735.9302,E,0.0,278.6,280515,0000,00,4000,11,999,841,7407+++VTS,66,0065,7022606164,NM,0,GP,22,060648,280515,1258.

hadoop - 如何在 pig 中使用 CASE 语句?

我需要以下输出。NE50SE80我正在使用pig查询来根据地区统计国家/地区。c1=groupcountrybyzone;c2=foreachc1generateCOUNT(country.zone),(casecountry.zonewhen1then'NE'else'SE');但我无法实现我的输出。我收到如下错误:2016-03-3013:57:16,569[main]ERRORorg.apache.pig.tools.grunt.Grunt-ERROR1039:(Name:EqualType:nullUid:null)incompatibletypesinEqualOperato

hadoop - PIG 拉丁语 : While loading how to discard the first line in any file?

我从一段时间以来一直在使用PIG,想知道如何在加载文件时不考虑第一行。我有一个包含标题的文件。所以我应该忽略第一行并转到下一行对日期列和所有列进行处理。如何解决这个问题?谢谢 最佳答案 如果你有pig版本0.11,你可以试试这个:input_file=load'input'USINGPigStorage(',')as(row1:chararay,row2:chararray);ranked=rankinput_file;NoHeader=Filterrankedby(rank_input_file>1);New_input_file