草庐IT

pig-without

全部标签

hadoop - 如何在 Hadoop 上的 Apache Pig 中基于两个子包构建一个 super 包

假设我有两个包,B1和B2,想知道如何制作一个包含这两个包的super包?我想要一个包含两个子包的super包的目的是因为我想调用datafu的UDFSetDifference,这似乎是在一个包含两个包的关系上调用的?就我而言,我已经有两个包,B1和B2。我想我需要在这个示例中组装一个super包“输入”。http://datafu.incubator.apache.org/docs/datafu/guide/set-operations.htmldifferenced=FOREACHinput{--inputbagsmustbesortedsorted_b1=ORDERB1byval

hadoop - 如何解决以下 apache pig 错误?

我正在执行以下命令:A=load'user/cloudera'usingPigStorage(':');foreachAgenerate$0,$4,$5;dumpB;在执行最后一条命令时,我收到以下错误,我无法解决。作为大数据和apachehadoop堆栈的新手,我无法理解这个错误。请尽快提供帮助。也在StackOverflow上搜索类似的错误没有帮助:2015-11-1306:36:46,170[main]INFOorg.apache.pig.tools.pigstats.ScriptState-Pigfeaturesusedinthescript:UNKNOWN2015-11-13

hadoop - 不使用 Pig 脚本从 HDFS 加载 HBase 中的数据

我在HDFS中有.csv文件。我想在不使用Pig脚本的情况下将它们加载到HBASE表中。还有其他方法吗? 最佳答案 可能有几种方法。但有些选项如下所示。选项1:简单的方法是ImportTsvImportTsv是一个将TSV格式的数据加载到HBase的实用程序。它有两种不同的用法:通过Puts将数据从HDFS中的TSV格式加载到HBase,以及通过completebulkload准备要加载的StoreFiles。通过Put加载数据(即非批量加载):$bin/hbaseorg.apache.hadoop.hbase.mapreduce.

hadoop - 在 PIG 中读取 delemeter 数据中的文件

我想使用PIG读取CSV文件,我应该怎么做?。我使用了loadnpigstorage(',')但它无法正确读取CSV文件,因为它在数据中遇到逗号(,)时将其拆分。如果我在数据中也有逗号,我现在应该如何给出定界符? 最佳答案 通常无法区分数据中的逗号和作为分隔符的逗号。您需要转义“数据”中的逗号和可以识别转义逗号的自定义加载函数(对于Pig)。看这里:http://ofps.oreilly.com/titles/9781449302641/load_and_store_funcs.htmlhttp://pig.apache.org/d

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-