草庐IT

PIG_HOME

全部标签

hadoop - 简单的 pig 加入并处理两个袋子

我有以下简单的pig脚本,AA=LOAD'A'USINGPigStorage(',')as(f1,f2,f3);BB=LOAD'B'AS(f1);C=foreachAAgeneratef1;C=JOINAABYf1LEFTOUTER,BBBYf1using'replicated';D=FOREACHCGENERATEFLATTEN((IsEmpty(AA)?null:AA));storeDinto'd';但是当我运行时,它给了我这个错误:无效的标量投影:AA:列需要从关系中投影才能用作标量你能帮忙吗?最好的,萨拉 最佳答案 根据Is

hadoop - 当 mapred.job.shuffle.input.buffer.percent=0.70 时,pig join 在 reducer 中出现 OutOfMemoryError

我们正在一个小表和一个大倾斜表之间进行简单的pig连接。由于另一个错误(pigskewedjoinwithabigtablecauses"Splitmetadatasizeexceeded10000000"),我们无法使用"usingskewed":(如果我们使用默认的mapred.job.shuffle.input.buffer.percent=0.70我们的一些reducer在shuffle阶段会失败:org.apache.hadoop.mapred.Task:attempt_201305151351_21567_r_000236_0:Mapoutputcopyfailure:ja

hadoop - 在 Apache Pig 中合并两个数据集

我有两个hbase输入别名:X:(a1,b2)(a2,b2)...(an,bn)Y:(c1)(c2)...(cn)现在我想“加入”两个别名:X的第一行和Y的第一行。最终结果应该是:RESULT:(a1,b1,c1)(a2,b2,c2)...(an,bn,cn)我该怎么做? 最佳答案 Pig的一个基本原则是顺序无关紧要。更一般地说,关系是元组的集合,而不是元组的列表。如果顺序对您的数据很重要,那么它应该反射(reflect)在数据本身中,而不是数据恰好存储的方式。不过,如果您可以保证在加载数据时Pig会按照您希望的顺序处理数据,则确实

Hadoop Cygwin Windows 7 JAVA_HOME 路径未找到且命令未找到

我已经通过谷歌尝试了所有可能的解决方案,但仍然无法正常工作我没有从hadoop-env.sh和bin/java中得到这个命令未找到的错误,不是这样的目录,这里是hadoop-env.sh导出JAVA_HOME=/cygdrive/c/Java/jre6导出JAVA_HOME=c:/Java/jre6下面是我的错误-bash-4.1$bin/hadoopnamenode-format/usr/local/hadoop-1.2.1/libexec/../conf/hadoop-env.sh:第2行:$'\r':找不到命令/usr/local/hadoop-1.2.1/libexec/../

java - 在 yarn "org.apache.hadoop.ipc.Client - Retrying connect to server: tasktracker3/10.201.2.169:50000"上运行时在 apache Pig 中出现错误

我正在运行ApachePig0.11.2和Hadoop2.2.0。我在Pig中运行的大多数简单作业都运行良好。但是,每当我尝试在大型数据集上使用GROUPBY或LIMIT运算符时,我都会收到以下连接错误:2013-12-1811:21:28,400[main]INFOorg.apache.hadoop.ipc.Client-Retryingconnecttoserver:tasktracker2/10.201.2.145:54957.Alreadytried0time(s);retrypolicyisRetryUpToMaximumCountWithFixedSleep(maxRetr

hadoop - pig 脚本中的代理键

我需要将现有的ETL流转换为Pig脚本,我试图将我的维度保存在hdfs中,这样我在加载事实表时就无需查看数据库。这里面临问题,无法为新维度记录创建代理键。是否可以在pig中创建代理键?如果是,请告诉我如何创建代理键。谢谢塞尔瓦姆 最佳答案 我使用pig创建代理键的主要机制是使用DataFu哈希方法。它返回一个MD5或SHA值。只要用于派生散列的源数据是唯一的,您的散列也应该是唯一的。在我从非唯一来源生成代理键的情况下,我通常使用RANK创建数据排名,然后将该字段用作散列的一部分。示例1:从2个串联字段创建的简单哈希。请注意结果中存在

hadoop - 用 Pig 拆分字符串

我有一个以下格式的字符串:2011年7月9日星期六05:38:24GMT我会得到这样的输出:2011年7月9日05:38:24谢谢。[编辑]我尝试了很多解决方案,我有错误。我会重新解释这个问题。我有一个XML文件,其中有一个节点:2011年7月5日星期二10:10:30GMT我想从中提取两个单独的字符串,如上所示。我试过这段代码:register/usr/lib/pig/piggybank.jar;items=LOAD'depeche/2011_7_10_12_30_rss.txt'USINGorg.apache.pig.piggybank.storage.XMLLoader('ite

hadoop - 无法从 loadFunc org.apache.pig.builtin.AvroStorage 获取架构

我在运行pig脚本时遇到以下错误REGISTER/opt/cloudera/parcels/CDH/lib/pig/lib/avro.jarREGISTER/opt/cloudera/parcels/CDH/lib/pig/lib/json-simple-1.1.jarREGISTER/opt/cloudera/parcels/CDH/lib/pig/lib/jackson-core-asl-1.8.8.jarREGISTER/opt/cloudera/parcels/CDH/lib/pig/lib/jackson-mapper-asl-1.8.8.jarREGISTER/opt/cl

hadoop - 如何使用 pig 从 hdfs 加载推特数据?

我只是使用flume流式传输一些推特数据并将其集群到HDFS现在我尝试将它加载到pig中进行分析。由于默认的JsonLoader函数无法加载数据所以我在谷歌中搜索一些可以加载这种类型的库数据。我找到了这个link并按照那里的说明进行操作。这是结果REGISTER'/home/hduser/Downloads/json-simple-1.1.1.jar';2016-02-2220:54:46,539[main]INFOorg.apache.hadoop.conf.Configuration.deprecation-fs.default.nameisdeprecated.Instead,u

hadoop - GC 开销限制超出 Pig 中杀死的容器

我正在使用YARN在hadoop2集群的开发环境中执行13个表映射连接。所有表作为LEFTOUTER与主表连接。共有15个连接连接。由于大多数小表都小于200-300MB,所以我使用USING'replicated'来执行脚本代码。它执行得相当快,但卡在95-99%以上。当我检查应用程序url时,2reducers失败抛出错误为“GC开销限制超出了由ApplicationMaster杀死的容器。根据请求杀死了容器。退出代码为143容器以非零退出代码143退出。OtherreducerfailedwitherrorTimedoutafter300secsContainerkilledby