草庐IT

Pig-Latin

全部标签

hadoop - pig + Cassandra : ERROR 1070

我正在使用hadoop1.0.4、cassandra1.2.2和pig0.11.0。我想在grunt上运行这个脚本:**grunt>rows=LOAD'cassandra://Keyspace1/Users'USINGCassandraStorage()AS(key,columns:bag{T:tuple(name,value)});**但是我有这个错误:**2013-03-1911:15:54,957[main]ERRORorg.apache.pig.tools.grunt.Grunt-ERROR1070:CouldnotresolveCassandraStorageusingimp

pig 的csv读取,csv文件包含引号逗号

所以我的数据看起来像这样asdf,asdf,"adsf,qwef",asdf当我使用pig读取数据时PigStorage(',')它将“adsf,qwef”存储为两个数据,并像这样存储{"adsf}{qwef"}我希望引号被视为单个数据。我该怎么办?我正在尝试编写pigscript来执行此操作。 最佳答案 您应该使用CSVLoader:data=LOAD'my.csv'USINGorg.apache.pig.piggybank.storage.CSVExcelStorage()AS(...);其中...是标识符。注意:您必须先注册P

hadoop - 无法从 apache pig 中的 map 中提取值

我在ApachePig中有一个简单的关系v:dumpv;(151364,['ref'#'R813','highway'#'secondary','name:ga'#'LánaChairdif','name'#'CardiffLane'],(31015271,31053762))(151368,['ref'#'N1','oneway'#'yes','designation'#'BusesOnly','highway'#'trunk','motor_vehicle'#'designated','name:ga'#'CearnógPharnellThoir','maxspeed'#'30',

hadoop - 使用 pig 或象夫的推荐系统

我正在以一种简单的方式在Hadoop上构建一个推荐系统,你能给我一个关于使用什么来构建这个推荐系统的意见吗。我想使用Apachepig或Apachemahout。在我的数据集中我有book_id,name,publisheruser_id,usernamebook_id,user_id,rating我的数据是c.s.v格式那么您能否建议我使用哪种技术来生成基于项目和基于用户的推荐系统。 最佳答案 ApacheMahout将为您提供基于协同过滤算法的现成推荐引擎。使用Pig,您必须自己实现这些算法-在PigLatin中,这可能是一项相

hadoop - pig : Control number of mappers

我可以通过在生成缩减器的语句中使用PARALLEL子句来控制缩减器的数量。我想控制映射器的数量。数据源已经创建,我无法减少数据源中的部件数。是否可以控制我的pig语句生成的map数量?我可以对生成的map数量设置上下限吗?控制这个是个好主意吗?我尝试使用pig.maxCombinedSplitSize、mapred.min.split.size、mapred.tasktracker.map.tasks.maximum等,但它们似乎没有帮助。有人可以帮助我了解如何控制map的数量并可能分享一个工作示例吗? 最佳答案 映射器的数量有一个

json - 将原始 JSON 加载到 Pig 中

我有一个文件,其中每一行都是一个JSON对象(实际上,它是stackoverflow的转储)。我想尽可能轻松地将它加载到ApachePig中,但我无法弄清楚如何告诉Pig输入格式是什么。这是一个条目的例子,{"_id":{"$oid":"506492073401d91fa7fdffbe"},"Body":"....","ViewCount":7351,"LastEditorDisplayName":"RichB","Title":".....","LastEditorUserId":140328,"LastActivityDate":{"$date":1314819738077},"L

hadoop - 如何在另一个 pig 脚本中调用 pig 脚本

我在hdfs中有一个包含100列的文件,我想使用pig对其进行处理。我想将这个文件加载到一个元组中,在一个单独的pig脚本中包含列名,并从其他pig脚本中重用这个脚本。我该怎么做?假设这个100列的pig脚本是-100col.pig。我如何从anotherone.pig调用它? 最佳答案 检查exec命令(用于批处理)或run命令(用于交互式脚本)。此外,如果您需要使用(非grunt)shell命令,请检查fs命令。这是一个很好的引用:http://pig.apache.org/docs/r0.7.0/piglatin_ref2.h

hadoop - 在 Pig 中删除单列

我正在按包含大约20个ID的列表过滤表格。现在我的代码如下所示:A=LOAD'ids.txt'USINGPigStorage();B=LOAD'massive_table'USINGPigStorage();C=JOINABY$0,BBY$0;D=FOREACHCGENERATE$1,$2,$3,$4,...STOREDINTO'foo'USINGPigStorage();我不喜欢的是D行,我必须在其中重新生成一个新表以通过显式声明我想要显示的每个其他列(有时是很多列)来摆脱连接列。我想知道是否有等同于:FILTERBBY$0IN(A)或:DROP$0FROMC

java - 在哪里可以看到从 hadoop pig 语句生成的 mapreduce 代码

我们都知道hadooppig语句被转换成javamapreduce代码。我想知道有什么方法可以查看从pig语句生成的mapreduce代码? 最佳答案 Weallknowthathadooppigstatementsareconvertedintojavamapreducecode事实并非如此。HadoopPig语句未转换为JavaMapReduce代码。更好的思考方式是Pig代码在运行于JavaMapReduce的Pig解释器中“解释”。这样想:Python和Perl不“生成”C代码,它们通过执行指令的C程序(解释器)来运行。基本

database - hadoop pig 返回前 5 行

我想返回一组的前5行。基本上我有一个表格,其中包含一些州名及其按州名分组的城市。我想要该州排名前5位的城市,而不是全部。我如何使用pig来做到这一点?提前谢谢你。 最佳答案 在GROUPBY之后,在FOREACH中...您可以先执行ORDERBY,然后是LIMIT。这将首先按城市大小对每个组中的事物进行排序,然后拉出前5名。B=GROUPABYstate;C=FOREACHB{DA=ORDERABYcitysizeDESC;DB=LIMITDA5;GENERATEFLATTEN(group),FLATTEN(DB.citysize)