草庐IT

hadoop - 如何从 .t​​sv 文件加载 Pig 中的数据?

我有一个.TSV文件,其中包含HDFS中的数据,但我无法将其加载到Pig中。我使用的命令是“A=load'file_location'as(name:chararray,age:int,gpa:float);B=foreachAgenerate(name,age);DUMPB;Errorreturned:UnabletofindoperatorforaliasA 最佳答案 如果您不指定分隔符PIG使用默认的“,”作为加载文件的分隔符。因此您的加载语句失败。您必须明确指定分隔符“\t”。A=LOAD'file_location'USI

hadoop - 没有在 pig 中使用 SUM() 获得计算值

我的命令如下:Z=LOAD'/..file_path'USINGPigStorage(',')AS(name:CHARARRAY,gpa:int,salary:int);y=GROUPZBYgpa;R=FOREACHyGENERATESUM(Z.salary);我正在获取的输出DUMPR;作为:{all,()};请指导我。TIA。 最佳答案 您需要使用GROUPALL而不是GROUPBY来获取SUM.Z=LOAD'/..file_path'USINGPigStorage(',')AS(name:CHARARRAY,gpa:int,s

hadoop - crontab 计划的 Pig 脚本没有给出结果

我有pig脚本,当我从pig(mapreduce模式)运行时会给出正确的结果,但是当我从crontab调度时不会按照脚本存储输出。pig脚本是,a1=load'/user/training/abhijit_hdfs/id'usingPigStorage('\t')as(id:int,name:chararray,desig:chararray);a2=load'/user/training/abhijit_hdfs/trips'usingPigStorage('\t')as(id:int,place:chararray,no_trips:int);j=joina1byid,a2byid

hadoop - pig 错误 0 : Scalar has more than one row in the output

我有两个文件,我试图在模式匹配的基础上加入这两个文件。File1:weather.bbc.co.uk,112ads.facebook.com,113ads.amazon.co.uk,114www.sky.com,115news.bbc.co.uk,116pics.facebook.com,117File2:facebook.com,facebookbbc.co.uk,bbcnetflix.com,netflixflipkart.com,flipkartoutput:weather.bbc.co.uk,112,bbc.co.uk,bbcads.facebook.com,113,faceb

hadoop - 未找到(有效)输入数据!在 pig

我正在使用Pig加载XML数据。当我发出ILLUSTRATE命令时,出现错误。这就是我正在做的事情。REGISTERpiggybank-0.15.0.jarxml=LOAD'/xml/data/path'usingorg.apache.pig.piggybank.storage.XMLLoader('doc')as(x:chararray);ILLUSTRATExml;这是错误.........2018-03-2019:56:52,265[main]INFOorg.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigM

hadoop - PIG 如何将行数从 1 个别名返回到另一个别名

REGISTER'udf.py'usingjythonasmyfunc;loadhtml=load'./assignment/crawler'usingPigStorage('\u0001')as(id1:chararray,url:chararray,domain:chararray,content:chararray,source:chararray,date:chararray);loadhtml_content=FOREACHloadhtmlgeneratecontent;flatten=FOREACHloadhtml_contentgenerateflatten(TOKENI

hadoop - 无法处理 PIG 中的时间序列数据

我有时间序列数据,例如:2018-10-1201:25:37并从时间戳中提取日期(2018-10-12)和时间(1:25:37)。现在的要求是根据特定条件过滤时间值(例如:用另一个包的原子过滤时间值,其中包含时间数据(hh:mm:ss))。PIG没有用于时间(hh:mm:ss)类型数据的“TIME”数据类型。在PIG中加载“时间”数据值需要什么数据类型? 最佳答案 提取日期(年、月、小时、分钟等)。使用了这些功能对于年份:GetYear()月份:GetMonth()对于一天:GetDay()小时:GetHour()对于分钟:GetM

Hadoop PIG 输出未使用 PARALLEL 运算符拆分为多个文件

看来我错过了什么。我的数据上的reducer数量在HDFS中创建了那么多文件,但我的数据没有拆分成多个文件。我注意到的是,如果我对按顺序排列的键执行groupby它工作正常,就像下面的数据根据​​键很好地分成两个文件:1hello2bla1hi2works2end但是这个数据没有拆分:1hello3bla1hi3works3end我使用的代码对其中一个工作正常而对另一个工作不正常是InputData=LOAD'above_data.txt';GroupReq=GROUPInputDataBY$0PARALLEL2;FinalOutput=FOREACHGroupReqGENERATEf

hadoop - 如何从 Pig 中的关系生成自定义模式?

我有一个描述各种文章中单词的tf-idf值的模式。它的描述如下:tfidf_relation:{word:chararray,id:bytearray,tfidf:double}这是此类数据的示例:(cat,article_one,0.13515503603605478)(cat,article_two,0.4054651081081644)(dog,article_one,0.3662040962227032)(apple,article_three,0.3662040962227032)(orange,article_three,0.3662040962227032)(parrot

hadoop - 使用 PIG 从 mysqldump 加载

我有一个mysqldump格式:INSERTINTO`MY_TABLE`VALUES(893024968,'342903068923468','o03gj8ip234qgj9u23q59u','testing123','HTTP','1','4213883b49b74d3eb9bd57b7','blahblash','2011-04-1900:00:00','448','206',NULL,'GG');如何使用pig加载这些数据?我试过了;A=LOAD'pig-test/test.log'USINGPigStorage(',')AS(ID:chararray,USER_ID:chara