草庐IT

pig4cloud

全部标签

hadoop - 如何使用apache pig递归加载文件

我是Pig的新手,我有一个非常基本的问题:我可以让MakePig从目录加载所有文件,包括子文件夹中的文件吗?以下是我的处理方式:records=LOAD'/worldwide/data/'USINGPigStorage()AS(event:chararray,user:chararray);这里,repo/data可能有子文件夹,例如repo/data/region/cluster1repo/data/region/cluster2我能否让它从这些子目录和将来可能添加的任何新目录中加载所有内容? 最佳答案 确认上述语句有效并将子目录

hadoop - 如何在 Pig 中使用标题(第一行)作为字段名称

给定一个第一行可以作为标题的csv文件,如何使用这些标题在Pig中动态加载字段名称?即id,year,total1,1999,1902,1998,20a=LOAD'/path/to/file.csv'USINGPigStorage()AS--usefirstrowasfieldnames>describea;>id:bytearray,year:bytearray,total:bytearray 最佳答案 由于这是一个CSV文件,并且您想将第一行用作标题,因此您应该使用CSVLoader()。它会将第一行视为标题。您的脚本将是这样的

hadoop - 如何从 Hadoop 的 Pig 处理的文件中修剪标题行?

我正在尝试通过Pig程序使用Amazon的ElasticMapReduce解析我们的服务生成的制表符分隔数据文件。一切进展顺利,除了我们所有的数据文件都包含一个定义每一列用途的标题行。显然,(字符串)header不能转换为数字数据值,因此我从Pig收到如下警告:2011-03-1722:49:55,378[main]WARNorg.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigHadoopLogger-org.apache.pig.builtin.PigStorage:Unabletointerpretvalue

hadoop - CDH4 Hbase 使用 Pig ERROR 2998 java.lang.NoClassDefFoundError : org/apache/hadoop/hbase/filter/Filter

我在伪分布式模式下使用CDH4,我在同时使用HBase和Pig时遇到了一些问题(但两者都可以单独工作)。我正在逐步遵循这个不错的教程:http://blog.whitepages.com/2011/10/27/hbase-storage-and-pig/所以我的Pig脚本看起来像这样register/usr/lib/zookeeper/zookeeper-3.4.3-cdh4.1.2.jarregister/usr/lib/hbase/hbase-0.92.1-cdh4.1.2-security.jarregister/usr/lib/hbase/lib/guava-11.0.2.ja

hadoop - 在 PIG 中声明变量和模式

如何在PIG中声明一个变量?假设我想要一个值为10的整数,如何在脚本中声明它?以及如何重用模式? 最佳答案 我认为您可以使用“声明”命令。它用于描述一个参数并在PIG脚本中使用。%declareDESC'Database'A=load'data'as(name,desc);B=FILTERAbydesceq'$DESC';.....您可以在此处了解更多信息。PigParameter 关于hadoop-在PIG中声明变量和模式,我们在StackOverflow上找到一个类似的问题:

hadoop - 如何将 tarball 加载到 pig

我有一个压缩包(access.logs.tar.gz)中的日志文件加载到我的hadoop集群中。我想知道他们是否可以直接将它加载到pig身上而不用解开它? 最佳答案 @ChrisWhite的回答在技术上是正确的,您应该接受他的回答而不是我的(至少是IMO)。您需要使用Hadoop摆脱tar.gz文件。Gzip文件不可拆分,因此如果您的gzip文件很大,您将在映射器中看到热点。例如,如果您有一个100gb的.tar.gz文件,您将无法拆分计算。另一方面,假设它们很小。在这种情况下,Pig会很好地将它们收集在一起,拆分问题就会消失。这有

hadoop - 在单个实例中将 pig 输出存储到 Hive 表中

我想将pig输出插入到Hive表中(Hive中的表已经使用确切的模式创建)。只需要将输出值插入到表中。我不想使用通常的方法,其中我首先存储到一个文件中,然后从Hive中读取该文件,然后插入到表中。我需要减少已完成的额外跃点。这可能吗?如果可以,请告诉我如何做到这一点?谢谢 最佳答案 好的。在HDFS目录中的某处创建一个具有架构布局的外部配置单元表。让我们说createexternaltableemp_records(idint,nameString,cityString)rowformatteddelimitedfieldsterm

hadoop - HDFS、HBase、Pig、Hive 和 Azkaban 之间的关系?

我对Apache有点陌生Hadoop.我看过this和this关于Hadoop、HBase、Pig、Hive和HDFS的问题。他们都描述了上述技术之间的比较。但是,我已经看到,通常一个Hadoop环境包含所有这些组件(HDFS、HBase、Pig、Hive、阿兹卡类)。有人能以架构工作流的方式解释这些组件/技术与它们在Hadoop环境中的职责之间的关系吗?最好有一个例子? 最佳答案 总体概述:HDFS是Hadoop的分布式文件系统。直观上,您可以将其视为跨越许多服务器的文件系统。HBASE是一个面向列的数据存储。它以Google的B

hadoop - 如何为 PIG 或 HIVE 中的行添加行号?

我在使用ApachePig添加行号时遇到问题。问题是我有一个STR_ID列,我想为STR_ID中的数据添加一个ROW_NUM列,这是STR_ID的行号。例如,这里是输入:STR_ID------------3D64B18BC842BAECEFA8EFB6346B13E4E2406D8A9D0249B49FD024AA52BA如何获得如下输出:STR_ID|ROW_NUM----------------------------3D64B18BC842|1BAECEFA8EFB6|2346B13E4E240|36D8A9D0249B4|49FD024AA52BA|5可以接受使用Pig或Hi

hadoop - 在 Pig 中将一个元组拆分为多个元组

我喜欢从一个元组生成多个元组。我的意思是:我有包含以下数据的文件。>>catdataID|ColumnName1:Value1|ColumnName2:Value2所以我通过下面的命令加载它grunt>>A=load'$data'usingPigStorage('|');grunt>>dumpA;(ID,ColumnName1:Value1,ColumnName2:Value2)现在我想把这个元组拆分成两个元组。(ID,ColumnName1,Value1)(ID,ColumnName2,Value2)我可以将UDF与foreach一起使用并生成吗?像下面这样的东西?grunt>>fo