草庐IT

pig-without

全部标签

hadoop - Pig 中的包和元组模式

我试图为我尝试使用JsonLoader加载的一些数据指定模式,我要上传的数据的格式为Features:["Speedy","New","Automatic",..]对于每条记录,特征的数量不是固定的,它可以不同。我在模式中将其表示为:Features:bag{a:tuple(t:chararray)}但是它不起作用。有人可以用正确的语法帮助我并指出我错在哪里吗? 最佳答案 字段名称规范是不必要的,因为您有没有任何字段名称的简单数组。试试这个:a=load'a.json'usingJsonLoader('value:int,featu

pig 的 REGEX_EXTRACT 不起作用

我想从每个字段的开头和结尾删除双引号'"'。我正在尝试在pig身上应用正则表达式,但似乎不起作用输入:(main_170521230001.csv,"9","2017-05-2123:00:01.472636")(main_170521230001.csv,"91","2017-05-2123:00:01.472636")(main_170521230001.csv,"592","2017-05-2123:00:01.472636")pig脚本:raw=LOAD'/data/csv'usingPigStorage(',','-tagFile')as(fn:chararray,gid:c

hadoop - Hadoop-3.0.0 与旧版本的 Hive、Pig、Sqoop 和 Spark 的兼容性如何

我们目前在10节点集群上使用hadoop-2.8.0,并计划升级到最新的hadoop-3.0.0。我想知道如果我们将hadoop-3.0.0与旧版本的Spark和其他组件(如Hive、Pig和Sqoop)一起使用,是否会出现任何问题。 最佳答案 最新的Hive版本不支持Hadoop3.0,看来以后Hive可能会建立在Spark或者其他计算引擎上。 关于hadoop-Hadoop-3.0.0与旧版本的Hive、Pig、Sqoop和Spark的兼容性如何,我们在StackOverflow上找

java - 鉴于我正在将 DataBag 溢出到磁盘,为什么这个 Pig UDF 会导致 "Error: Java heap space"?

这是我的UDF:publicDataBagexec(Tupleinput)throwsIOException{AggregateaggregatedOutput=null;intspillCount=0;DataBagoutputBag=BagFactory.newDefaultBag();DataBagvalues=(DataBag)input.get(0);for(Iteratoriterator=values.iterator();iterator.hasNext();){Tupletuple=iterator.next();//spillCount++;...if(someco

hadoop - pig : get data from hive table and add partition as column

我有一个分区的Hive表,我想将其加载到Pig脚本中,并且还想将分区添加为列。我该怎么做?Hive中的表定义:CREATEEXTERNALTABLEIFNOTEXISTStransactions(column1string,column2string)PARTITIONEDBY(datestampstring)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'LOCATION'/path';pig脚本:%defaultINPUT_PATH'/path'A=LOAD'$INPUT_PATH'USINGPigStorage('|')AS(column1:cha

hadoop - 如何使用 pig 或 hadoop fs 选项重命名具有特定扩展名的文件?

我在基于mm/dd/yyyy分区的文件夹结构中有*.gz文件.我想重命名以.gz扩展名结尾的文件。请建议如何使用hadoopfs命令行选项或使用pig重命名具有特定扩展名的文件。这是我的文件夹结构----rootfolder|---year--month--day--filename*.gz我想重命名扩展名为.gz的文件。请建议如何实现这一目标。 最佳答案 我知道这是一个肮脏的hack,但它对我有用。我假设您想将.gz文件扩展名更改为.newextension:hadoopfs-lsroot/*/*/*/filename*.gz|g

hadoop - Pig 在空集中生成结果

我正在编写一个相当基本的PigLatin脚本,但在执行GENERATE时遇到了问题。在GENERATE之前,转储显示数据与我预期的一样。但是,一旦我执行了GENERATE,结果就是一个空集。根据PigLatin引用手册,这似乎是正确的。当脚本运行时,我没有收到任何错误(它报告成功。)如果我在LOAD期间对字段使用名称或位置符号,则会发生这种情况。我的脚本:B=LOAD'data';DUMPB;C=FOREACHBGENERATE(int)$2,(int)$3,(int)$4;DESCRIBEC;DUMPC;这是输出:(2014-01-2608:14:21,672,1,0,1,55,..

hadoop - PIG LATIN 脚本错误 1000

我创建了以下脚本,其中我尝试使用piggybankUDF:register/home/hduser/pig/contrib/piggybank/java/piggybank.jar;divs=load'NYSE_dividends.txt'usingPigStorage(',')as(exchange:chararray,symbol:chararray,date:chararray,dividends:float);backwards=foreachdivsgenerateorg.apache.pig.piggybank.evaluation.string.Reverse(symbo

hadoop - 使用 pig/hive 进行半结构化数据处理

我有如下所示的半结构化数据:col1col2col3col4123[name#aa,address#[perminentaddress#abc,currentaddress#xyg]]598[address#[perminentaddress#dev,currentaddress#pqr],name#bb]349[name#cc,mobile#111,id#66address#[perminentaddress#abc,currentaddress#xyg]]前三列是固定的,第四列可以包含任何带有键值对的未知数据。键值对可以嵌套,如上例所示。最重要的是第4列的键位置不固定,可以有无限数

hadoop - 如何使用 Hive、Pig 或 MapReduce 处理 "insert into values"?

我是hadoop和大数据概念的新手。我正在使用Hortonworks沙箱并尝试操作csv文件的值。所以我使用文件浏览器导入文件并在配置单元中创建一个表来做一些查询。实际上我想要一个“插入值”查询来选择一些行,更改列的值(例如将字符串更改为二进制0或1)并将其插入到新表中。SQLLIKE查询可能是这样的:Insertintotable1(id,name,'01')selectid,name,graduatedfromtable2whereuniversity='aaa'不幸的是,hive无法插入(常量)值(不从文件导入),我不知道如何使用hive、pig甚至mapreduce脚本来解决这