草庐IT

PIG_FEATURE

全部标签

hadoop - Pig & Cassandra & DataStax 拆分控制

我一直在使用Pig和我的Cassandra数据来完成各种惊人的分组壮举,这些壮举几乎不可能用命令式编写。我正在使用DataStax的Hadoop和Cassandra集成,我不得不说它非常令人印象深刻。向那些家伙致敬!!我有一个非常小的沙盒集群(2节点),我正在其中对这个系统进行一些测试。我有一个CQL表,它有~53M行(每个大约350字节),我注意到Mapper稍后需要很长时间来处理这53M行。我开始查看日志,发现map反复溢出(我从映射器中看到177次溢出),我认为这是问题的一部分。CassandraInputFormat和JobConfig的组合只创建了一个映射器,所以这个映射器必

hadoop - 按 pig 中的相同值对数据包进行分组

我创建了以下Pig脚本来过滤提到电影标题的网络文档集合(CommonCrawl)中的句子(来自预定义的电影标题数据文件),对这些句子应用情绪分析并将这些情绪分组电影。register../commoncrawl-examples/lib/*.jar;setmapred.task.timeout=1000;register../commoncrawl-examples/dist/lib/commoncrawl-examples-1.0.1-HM.jar;register../dist/lib/movierankings-1.jarregister../lib/piggybank.jar;

hadoop - 如何阅读 Pig "detailed locations"日志行?

执行Pig脚本时,会发出其中一些日志:2014-10-2916:07:03,658[MainThread]INFOorg.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher-detailedlocations:M:TRACKED[155,10],null[-1,-1],null[-1,-1],TRACKED_USERS[156,16],null[-1,-1],HAS_CONV[163,11],HAS_CONV[164,11],null[-1,-1],REACHED[159,10],REAC

csv - Pig Latin 正在加载包含 !作为分隔符

我是Pig的新手,所以可能有一个简单的解决方案,但我无法弄清楚。问题:我有一个以!作为分隔符的平面文件,所以文件的结构看起来像这样!id!value!value2!1!100!200当我尝试使用pigstorage('\t')加载此文件时,所有内容都加载到第一个变量中。foo=load'bar.txt'usingPigstorage('\t')asId:chararray,value:chararray,value3:chararray;这不起作用,因为所有文件都被读取到ID列中。我想拆分负载,以便在其正确的列中读取每个值。到目前为止,我尝试了在howtoloadfileswithdi

java - APACHE HADOOP 版本 2.8.0 的 HADOOP_HOME 和 PIG_CLASSPATH 的正确值是多少?

我在从PIG命令行执行Hadoop命令时遇到问题。命令和错误堆栈在下面我的导师怀疑这是因为HADDOP_HOME和PIG_CLASSPATH不正确。我使用的是HADOOP2.8.0版。所以,最初我有HADOOP_HOME作为HADOOP_HOME=/hadoop/2.8.0/然后我切换了以下设置:HADOOP_HOME=/hadoop/2.8.0/libexec/etc/hadoopPIG_CLASSPATH定义为$HADOOP_HOME我在pig中使用的命令:A=LOAD'/Users/anarinsky/Downloads/loaddata1.txt';B=MAPREDUCE'/U

hadoop - 在 Apache pig 工作中获取今天的日期

我想在我的一项假定每天运行的Pig作业的输出文件路径中使用今天的日期,有没有办法做到这一点。就像是/user/x/$todaysDate 最佳答案 通过bash执行此操作:echo'/user/x/'`date+%Y-%m-%d`给出:/user/x/2012-10-14因此,您可以将脚本执行为:$pig-paramoutpath='/user/x/'`date+%Y-%m-%d`myscript.pig然后,在您的STORE命令中,使用$outpath:STOREabcINTO'$outpath';

hadoop - 双冒号在 Pig 中到底是什么意思?

当我使用DESCRIBE时,我在Pig输出中看到很多双冒号,但它们的含义并不明显。例如,在分组和展平之后,我看到类似这样的内容:key::observerId:chararray,key::endpoint:chararray,...在某些时候,我按observerId和端点分组,将组元组重命名为“键”,然后重新展平。那么,双冒号到底是什么意思,我应该如何引用第一个关系(key?observerId?) 最佳答案 在您的问题中,::是消除歧义的运算符,它用于在JOIN、COGROUP、CROSS或FLATTEN运算符之后识别字段名称

hadoop - 使用 Hadoop 配置 Pig 关系

我无法理解Hadoop和Pig之间的关系。我了解Pig的目的是将MapReduce模式隐藏在脚本语言PigLatin的背后。我不明白的是Hadoop和Pig是如何联系在一起的。到目前为止,唯一的安装过程似乎假定pig与主hadoop节点在同一台机器上运行。事实上,它使用了hadoop配置文件。这是因为pig只将脚本翻译成mapreduce代码并将它们发送到hadoop吗?如果是这样,我该如何配置Pig才能将脚本发送到远程服务器?如果不是,是否意味着我们总是需要在pig中运行hadoop? 最佳答案 Pig可以在两种模式下运行:本地模

hadoop - 将字符串连接到 pig 中的字段

我想将一个字符串concat到一个字段中的所有数据?示例数据集mydata包含以下字段(id,name,email)我想为字段名称中的所有数据添加字符串测试前缀。我试过了a=load'mydata.csv'as(id,name,email);b=foreachagenerateid,concat('test',chararray(name));我得到的结果是空的有什么想法吗? 最佳答案 在pigconcat中,关键字应该是大写字母而不是小写字母。您需要将关键字concat更改为CONCAT。您正在加载一个带有默认分隔符(制表符)的C

hadoop - 使用 loadfunc pig UDF 将 protobuf 格式文件加载到 pig 脚本中

我对pig知之甚少。我有protobuf格式的数据文件。我需要将此文件加载到pig脚本中。我需要编写一个LoadFuncUDF来加载它。说函数是Protobufloader()。我的PIG脚本是A=LOAD'abc_protobuf.dat'USINGProtobufloader()as(name,phonenumber,email);我只想知道如何获取文件输入流。一旦我掌握了文件输入流,我就可以将数据从protobuf格式解析为PIG元组格式。PS:提前致谢 最佳答案 Twitter的开源库elephantbird有很多这样的加载