草庐IT

pig4cloud

全部标签

hadoop - 在 Pig 中加入后从别名生成所有字段

我想在ApachePig中执行相当于“将所有a保留在A中,其中a.field==b.field用于b中的一些B”。我是这样实现的,AB_joined=JOINAbyfield,Bbyfield;A2=FOREACHAB_joinedGENERATEA::fieldasfield,A::field2asfield2,A::field3asfield3;枚举所有A的条目非常愚蠢,我宁愿做类似的事情,A2=FOREACHAB_joinedGENERATEflatten(A);但是,这似乎行不通。有没有其他方法我可以在不枚举A的情况下做一些等效的事情的字段? 最佳答

hadoop - 如何在 Pig 中将一个组扁平化为一个元组?

来自这里:(1,{(1,2),(1,3),(1,4)})(2,{(2,5),(2,6),(2,7)})...我们如何生成这个?((1,2),(1,3),(1,4))((2,5),(2,6),(2,7))...我们如何生成它?(1,2,3,4)(2,5,6,7)对于单行,我知道该怎么做。问题是当我必须遍历许多行并同时操作内部组时。 最佳答案 针对你的问题,我准备了以下文件:1,21,31,42,52,62,7起初,我使用以下脚本获取您在问题中描述的输入r3:r1=load'test_file'usingPigStorage(',')a

hadoop - 在 Pig 的 Parquet 上使用 hive 表

我正在尝试在包含两个Parquet文件的文件夹上创建一个具有架构string,string,double的Hive表。第一个parquet文件架构是string,string,double,第二个文件的架构是string,double,string。CREATEEXTERNALTABLEdynschema(trans_datestring,currencystring,ratedouble)STOREDASPARQUETLOCATION'/user/impadmin/test/parquet/evolution/';我正在尝试在pig(0.14)脚本中使用配置单元表。A=LOAD'dy

java - 如何在 Pig 中加入后删除重复的列?

假设我JOIN两个关系如下:--partlookslike:--1,5.3--2,4.9--3,4.9--originallookslike:--1,Anju,3.6,IT,A,1.6,0.3--2,Remya,3.3,EEE,B,1.6,0.3--3,akhila,3.3,IT,C,1.3,0.3jnd=JOINpartBY$0,originalBY$0;输出将是:1,5.3,1,Anju,3.6,IT,A,1.6,0.32,4.9,2,Remya,3.3,EEE,B,1.6,0.33,4.9,3,akhila,3.3,IT,C,1.3,0.3请注意,$0在每个元组中显示了两次。例如

hadoop - 如何从 pig map 中获取变量键的值?

有没有一种方法可以使用字段作为键来获取变量键的映射值?例如:我的公司数据有这样的语言环境和名称字段{"en_US",(["en_US":"EnglishName"],["fr_FR":"FrenchName"])}我本质上想要的是使用语言环境作为键来获取map的值,因为它会因不同的语言环境而不同。company_data=load'/data'usingPigStorage();final_company_data=FOREACHcompany_dataGENERATEvalue.localeaslocalevalue.name#locale;下面给出了一个错误,因为我知道要从map中

hadoop - pig ,如何在加入和分组后引用字段

我在Pig中有这段代码(win、请求和响应只是直接从文件系统加载的表):win_request=JOINwinBYbid_id,requestBYbid_id;win_request_response=JOINwin_requestBYwin.bid_id,responseBYbid_id;win_group=GROUPwin_request_responseBY(win.campaign_id);win_count=FOREACHwin_groupGENERATEgroup,SUM(win.bid_price);基本上我想在加入和分组后对bid_price求和,但出现错误:Could

hadoop - 使用 PIG 计算平均值

我是PIG的新手,想计算我的一列数据的平均值010.120.1304050607080.1我写了这个pig脚本dividends=load'myfile.txt'as(A);dumpdividendsgrouped=groupdividendsbyA;avg=foreachgroupedgenerateAVG(grouped.A);dumpavg它将数据解析为(0)(10.1)(20.1)(30)(40)(50)(60)(70)(80.1)但平均给出这个错误2013-03-0415:10:58,289[main]ERRORorg.apache.pig.tools.grunt.Grunt

hadoop - 使用 PIG 加载文件

我是PIG的新手,我遇到了一个非常基本的问题。我有一行代码,上面写着:A=load'Sites/trial_clustering/shortdocs/*'AS(word1:chararray,word2:chararray,word3:chararray,word4:chararray);其中每个文件基本上都是一行4个逗号分隔的单词。然而,PIG并没有将其拆分为4个词。当我转储A时,我得到:(Money,coins,loans,debt,,,)我尝试使用谷歌搜索,但似乎无法找到我的文件需要采用何种格式,以便PIG能够正确解释它。请帮忙! 最佳答案

hadoop - 仅加载 PIG 中的特定字段?

这是我的文件:Col1、Col2、Col3、Col4、Col5我只需要Col2和Col3。目前我正在这样做:a=load'input'as(Col1:chararray,Col2:chararray,Col3:chararray,Col4:chararray);b=foreachagenerateCol2,Col3;有没有办法直接加载Col2和Col3而不是加载整个input然后generate必填列? 最佳答案 您只GENERATE您想要的列的方法是一种按照您的要求进行操作的有效方法。请记住,您的所有数据都存储在HDFS上,并且在

Hadoop、Hive、Pig、HBase、Cassandra——什么时候用什么?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion首先,我对大数据和Hadoop世界还比较陌生,而且我刚刚开始对Hortonworks沙箱(到目前为止的Pig和Hive)进行一些试验。我想知道在什么情况下可以使用上面提到的Hadoop、Hive、Pig、HBase和Cassandra这些工具?在我的沙箱环境中,只有一个9MB的文件,Hive和Pig的响应时间为几秒到几分钟。这在某些情况下显然不可用,例如Web应用程序(除非是其他情况,例如