草庐IT

pig-without

全部标签

hadoop - PIG UDF 中的表架构

在将数据加载到Hive表之前,我必须在平面文件中格式化数据。CF32|4711|00010101Z|+34.883|98562AS1D|N8594ãä|00|2该文件是管道分隔的,我需要在平面文件的不同列上应用不同的清理和格式化功能。我有Clean_Text、Format_Date、Format_TimeStamp、Format_Integer等多个函数。我的想法是将架构作为构造函数传递给我的UDF,并在pig中调用平面文件上的不同函数。A=LOAD'call_detail_records'USINGorg.apache.hcatalog.pig.HCatLoader();DESCRI

hadoop - 无法从 Pig Latin 的 Hadoop HDFS 加载文件

我在尝试从文件加载csv时遇到问题。我不断收到以下错误:Input(s):Failedtoreaddatafrom"hdfs://localhost:9000/user/der/1987.csv"Output(s):Failedtoproduceresultin"hdfs://localhost:9000/user/der/totalmiles3"查看我安装在本地计算机上的Hadoophdfs,我看到了该文件。事实上,该文件位于多个位置,例如/、/user/等。hdfsdfs-ls/user/derFound1items-rw-r--r--1dersupergroup127162942

Pig UDF 中的 Java 依赖项

我写了一个使用JodaTime的UDF.我将其作为依赖项包含在pom.xml中。当我运行我的pig脚本时出现错误ERROR2998:Unhandledinternalerror.org.joda.time.LocalDate.parse(Ljava/lang/String;)Lorg/joda/time/LocalDate;我是java、maven和hadoop的新手。我如何将joda捆绑到我在集群上运行的jar(如c/c++中的静态链接)?这不是howtoincludeexternaljarfileusingPIG的副本因为我不能使用-D选项并且在pig脚本中注册JodaTime没有

python - pig 脚本 : STORE command not working

这是我第一次在StackOverflow上发帖,我希望有人能提供帮助。我对Pig脚本还很陌生,遇到了一个我无法解决的问题。下面是一个pig脚本,当我尝试将结果写入文件时失败了:register'myudf.py'usingjythonasmyfuncs;A=LOAD'$file_nm'USINGPigStorage('$delimiter')AS($fields);B=FILTERAby($field_nm)ISNOTNULL;C=FOREACHBGENERATE($field_nm)asfld;D=GROUPCALL;E=FOREACHDGENERATEmyfuncs.theResu

apache-pig - 无法将 org.apache.pig.builtin.SUM 的匹配函数推断为多个或都不适合。请使用显式转换

我想对包含长类型数字的列求和。我尝试了很多可能的方法,但仍然没有解决转换错误。我的pig代码:raw_ds=LOAD'/tmp/bimallik/data/part-r-00098'usingPigStorage(',')AS(d1:chararray,d2:chararray,d3:chararray,d4:chararray,d5:chararray,d6:chararray,d7:chararray,d8:chararray,d9:chararray);parsed_ds=FOREACHraw_dsGENERATEd8asinBytes:long,d9asoutBytes:lon

hadoop - Pig - 压扁数据包

我在apachepig中有以下数据({(ABC,123,XYZ,{(1,2,3),(4,5,6)},QWE)})我想提取特定的字段,就像我的预期输出一样ABC,123,1,2,3ABC,123,4,5,6我们如何使用pig来做到这一点? 最佳答案 我自己完成了一点点阅读out=foreachagenerateFLATTEN($0);out1=foreachoutgenerate$0,$1,flatten($3); 关于hadoop-Pig-压扁数据包,我们在StackOverflow上找

regex - 如何使用 Pig 识别数据中的 '\N' 字符

我的数据中出现了非常奇怪的字符“\N”。我想从数据中删除或替换这个字符。以下是数据示例:GirlsShoes,1325051884\N,\NMen'sShirts,\N分隔符:逗号(,)我尝试了几种方法来替换/识别这个\N字符但没有用。 最佳答案 在Pig中,位置符号用美元符号($)表示并以零(0)开头;例如,$0、$1、$2。因此,在上述数据中,第一个字段由$0标识(例如“女鞋”),第二个字段由$1标识(例如1325051884)。以下脚本具有替换'\N'的逻辑:A=LOAD'/data.txt'USINGPigStorage('

hadoop - pig : optimal number of maps with a 4 node cluster?

我正在使用只有4个节点的hadoopCloudera系统,但磁盘空间很大(200TB)。在我的pig脚本中,我每月加载几个文件,每个文件的大小约为200Gb。我注意到,如果我在我的pig脚本中加载大约一年的数据,Pig会创建大约15k个mappers,整个过程大约需要3个小时(包括reduce步骤)。相反,如果我加载三年的数据(大约5TB),那么Pig会创建大约30k个mappers,基本上所有节点在处理超过15次后都会变得不健康小时。我是不是遇到了瓶颈?或者我应该使用一些默认选项?我的pig脚本非常基本:我分组,我数数。非常感谢! 最佳答案

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