草庐IT

hadoop - PIG 脚本 : reducer preempted to make room for pending map attempts

我使用不同的参数运行同一个PIG脚本的多个实例。当集群负载很重时,MapReduce作业日志显示大量reducer被抢占,这需要时间:ReducerpreemptedtomakeroomforpendingmapattemptsContainerkilledbytheApplicationMaster.Containerkilledonrequest.Exitcodeis143Containerexitedwithanon-zeroexitcode143如何避免此类抢占问题以最小化脚本执行时间? 最佳答案 看看this关联。简而言之

hadoop - 以 yyyy-MM-dd 为单位的 pig 通过日期

如何以简单的yyyy-MM-dd格式将日期传递给pig脚本?我正在传递如下日期:pig-fscript.pig-paramdt="2016-06-03"在脚本中,如果我使用:ToDate($dt,'yyyy-MM-dd')它显示输出为:1969-12-31T18:00:02.007-06:00我尝试阅读pigToDate文档,但似乎没有帮助。 最佳答案 看起来你缺少'ToDate('$dt','yyyy-MM-dd')从有关参数替换的文档中查看此示例:%declareDESC'Joe\'sURL'A=load'data'as(nam

hadoop:错误 org.apache.pig.tools.grunt.Grunt - 错误 1000:解析期间出错。遭遇

我在我的gruntshell中使用它:customers=LOAD'hdfs://localhost:9000/pig_data_customers'USINGPigStorage(',')as(id:int,name:chararray,age:int,address:chararray,salary:double);数据在这里:[root@localhostbin]#hdfsdfs-cathdfs://localhost:9000/pig_data_customers1,Ramesh,32,Ahmedabad,2000.002,Khilan,25,Delhi,1500.003,ka

hadoop - 如何读取 JSON 列作为 Apache PIG 中的字段

我正在尝试读取从Kaggle获得的电影数据集使用Apachepig。其中一个.csv文件名为“keywords.csv”,它有这样的元组:862,[{'id':931,'name':'jealousy'},{'id':4290,'name':'toy'},{'id':5202,'name':'boy'},{'id':6054,'name':'friendship'},{'id':9713,'name':'friends'},{'id':9823,'name':'rivalry'},{'id':165503,'name':'boynextdoor'},{'id':170722,'name

Pig 中的 Python UDF

我看过文档here,但我承认我觉得它相当缺乏。我想知道是否有人可以给我收集有关将PythonUDF合并到Pig中的示例。特别是在Pig0.10之前,不存在bool类型,但是FILTER操作需要将结果解析为bool值。如果我没有最新版本?是否无法从Python访问Algebraic、Accumulator和Filter接口(interface)?我也不能访问分布式缓存吗?Store/Load函数呢? 最佳答案 PythonUDF非常有限。您不能使用Algebraic或Accumulator接口(interface),也不能用Pytho

hadoop - Apache Pig 不会将字符串解析为 int/long

我是pig的新手,正在尝试对包含如下所示事件的文件执行一些基本分析:13454777652012-08-2008:49:24servername12.34.56.78192.168.1.4joebloggsManageSystemHere'syourmessage我尝试按如下方式加载文件:logs=LOAD'/path/to/file'usingPigStorageAS(loggedtime:long,serverdate:chararray,servertime:chararray,servername:chararray,externalip:chararray,internali

hadoop - 非常基本的 pig-latin 初学者代码

我是hadoop及其所有衍生产品的新手。我真的被大量可用的信息吓倒了。但我意识到的一件事是,要开始实现/使用hadoop或分布式代码,就必须从根本上改变他们思考问题的方式。我想知道是否有人可以在以下方面帮助我。所以,基本上(和其他人一样)我有一个原始数据。我想解析它并提取一些信息,然后运行一些算法并保存结果。假设我有一个文本文件“foo.txt”,其中的数据如下:id,$value,garbage_field,time_string\n1,200,grrrr,2012:12:2:13:00:002,12.22,jlfa,2012:12:4:15:00:001,2,ajf,2012:12

hadoop - PIG 加载 CSV - map 类型错误

我们的目标是利用PIG对我们的服务器日志进行大规模日志分析。我需要从文件加载PIGmap数据类型。我尝试使用以下数据运行示例PIG脚本。我的CSV文件中名为“test”(由PIG处理)的一行看起来像,151364,[ref#R813,highway#secondary]我的PIG脚本a=LOAD'test'usingPigStorage(',')AS(id:INT,m:MAP[]);DUMPa;想法是加载一个int和第二个元素作为hashmap。然而,当我转储时,int字段被正确解析(并在转储中打印)但map字段未被解析导致解析错误。如果我遗漏了什么,有人可以解释一下吗?

hadoop - 使用 cassandra 和 pig 进行数据清理

我有两组数据想在Pig中进行比较。两者具有相同的唯一ID,但第二组数据中的名称随机更改。逻辑如下:加载empl1原始数据加载empl2原始数据选择“名称不相同”且“emplno相等”的行我做了:A1=LOAD'cassandra://employees_pig1/employees_cf'USINGCassandraStorage()AS(key,columns:bag{T:tuple(name,value)});B1=LOAD'cassandra://employees_pig2/employees_cf'USINGCassandraStorage()AS(key,columns:b

hadoop - pig : Count number of keys in a map

我想计算Pigmap中键的数量。我可以编写UDF来执行此操作,但我希望有更简单的方法。data=LOAD'hbase://MARS1'USINGorg.apache.pig.backend.hadoop.hbase.HBaseStorage('A:*','-loadKeytrue-caching=100000')AS(id:bytearray,A_map:map[]);在上面的代码中,我想基本上构建id的直方图以及该键在列族A中有多少项。怀着希望,我尝试了c=FOREACHdataGENERATEid,COUNT(A_map);但不出所料,这没有奏效。或者,也许有人可以建议一个更好的方