草庐IT

PIG_FEATURE

全部标签

hadoop - pig 计数不同导致标量在输出错误中有不止一行

我有一个pig关系,读起来像-describeA;A:{header:(member_id,field_2,..)}现在我只想梳理一下成员,所以我这样做了-A1=FOREACHAGENERATEA.header.member_id;A2=LIMITA110;dumpA2;这运行了很长时间,最终导致错误-无法打开别名A2的迭代器。后端错误:标量在输出中有多于一行。我做错了什么? 最佳答案 问题在于行:A1=FOREACHAGENERATEA.header.member_id;您不应在A.header.member_id中引用A。Pig

java - Hadoop的Hive/Pig、HDFS和MapReduce的关系

我对ApacheHive的理解是它是一个类似SQL的工具层,用于查询Hadoop集群。我的理解ApachePig是它是一种用于查询Hadoop集群的过程语言。因此,如果我的理解是正确的,Hive和Pig似乎是解决同一问题的两种不同方法。但是,我的问题是,我不理解他们首先要解决的问题!假设我们有一个DB(关系型、NoSQL,无关紧要)将数据馈送到HDFS,以便可以针对该输入数据运行特定的MapReduce作业:我对Hive/Pig正在查询的系统感到困惑!他们在查询数据库吗?他们是否查询存储在HDFS上DataNode中的原始输入数据?他们是否正在运行一些临时的、即时的MR作业并报告他们的

hadoop - 在 Pig 中过滤

我正在尝试对pig中的关系进行筛选,我需要所有在第一个字段字符串中出现第三个字段的记录。我试过:(假设我的源关系是SRC)Filtered=FILTERSRCBY$0matches'CONCAT(".*",$2,".")';DUMPFiltered;没有语法错误,但我没有得到Filtered的任何输出。 最佳答案 Pig的CONCAT只接受两个参数。请参阅http://pig.apache.org/docs/r0.10.0/func.html#concat处的文档我不确定为什么它在运行时不报错,但你会想要将两个CONCAT语句串在一

java - 避免在 Hadoop pig 中使用指数表示法

我想避免在HadoopPig中使用指数表示法。例如。我的输出是这样的123,123123,3.8284426969382444E14我怎样才能避免使用指数符号? 最佳答案 您可以使用BigDecimal.toPlainString():ReturnsastringrepresentationofthisBigDecimalwithoutanexponentfield.示例:BigDecimalnumber=newBigDecimal("3.8284426969382444E14");System.out.println(number

hadoop - 执行 Pig 脚本 -x local script.pig 和 just script.pig 之间的区别

目前我正在执行我的脚本:/usr/bin/pig/somepath/myscript.pig出于某种原因,pig总是卡在这个阶段。2014-01-2816:49:31,328[main]INFOorg.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher-0%complete如果我用`/usr/bin/pig-xlocal/somepath/myscript.pig`出于某种原因提示路径:Input(s):Failedtoreaddatafrom"file:///path_from_root

java - PIG - 找到接口(interface) org.apache.hadoop.mapreduce.JobContext,但类是预期的

我试图从配置单元加载一个表。为此,我正在使用Hcatalog。我使用登录到配置单元pig-useHCatalog我从hive和hadoop导出了几乎所有的jarregister'hdfs://localhost:8020/user/pig/jars/hive-jdbc-0.10.0-cdh4.5.0.jar';register'hdfs://localhost:8020/user/pig/jars/hive-exec-0.10.0-cdh4.5.0.jar';register'hdfs://localhost:8020/user/pig/jars/hive-common-0.10.0-

eclipse - 如何为 Eclipse 安装 Pig 插件

我即将开始在Ubuntu中使用ApachePig,并且一直在寻找最好的Pig插件和快速安装指南以从Eclipse中的示例PIG脚本开始。我搜索了很多但找不到正确的描述如何在eclipse中安装pig插件。任何帮助将不胜感激! 最佳答案 Idk关于插件,但对于脚本执行,您可以使用以下简单代码Propertiesprops=newProperties();props.setProperty("pig.splitCombination","false");//anyotherpropertiesyouneedPigServerpigSer

hadoop - pig 条件语句

我想我已经知道了这个问题的答案,但我只是想在我放弃并做一些丑陋的事情之前检查一下。我有一个查询需要计算总点击次数以及不同用户的总数。总点击次数就是这段代码没有区别:report=FOREACHreportGENERATEuser,genre,title;report=DISTINCTreport;report=GROUPreportBY(genre,title);我的问题本质上是:有没有办法编写一个条件语句来跳过这个过程中的DISTINCT步骤?伪:report=FOREACHreportGENERATEuser,genre,title;if$report_type=='users':

python - PIG UDF (Python) 字符集编码

我是编写Python和PigUDF的初学者,正在努力使用PIG对输入文件进行字符集转换。浏览了stackoverflow和整个互联网几天,尝试了很多不同的东西,但我仍然无能为力。希望有人能轻轻地把我推向正确的方向。环境:一个真正的分布式Hadoop集群(无本地实例)/Cloudera配置有utf-8和ApachePigversion0.12.0我的源文件使用iso-8859-1编码,目标是将其内容存储为utf-8(在pig中的其他几个操作之后或之前).输入文件如下所示(用于测试目的的几个ASCII/iso-8859-1字符-每行一个字符):ùûüÿàâæçéèêëîô这是我的Pig脚本

hadoop - 获取 Apache Pig 中每 N 个元组的平均值

假设我有一个包含两列CUSTTYPE和AMOUNT的表。我想添加第三列NTILE然后我可以对其进行分组并使用它来获得我的平均值,如下所示:CUSTTYPE|AMOUNT|NTILE----------+---------+----------RETAIL|78.00|1RETAIL|234.00|1RETAIL|249.00|1RETAIL|278.00|2RETAIL|392.00|2RETAIL|498.00|2RETAIL|500.00|3RETAIL|738.00|3RETAIL|1250.00|3RETAIL|2029.00|4RETAIL|2393.00|4RETAIL|3