草庐IT

counting_iterator

全部标签

hadoop - 自定义分区程序 : N number of keys to N different files for word count

您好,我正在学习hadoop,我想要一个关于如何使用自定义partioner解决字数统计问题的示例。我希望将缩减器设置为26,以便所有以“A”开头的字符都将转到第一个缩减器,所有字符“B”将转到第二个缩减器,依此类推....公共(public)类PersonPartitioner扩展了Partitioner{@OverridepublicintgetPartition(Textkey,IntWritableVal,intnumOfReducer){Stringline=key.toString();String[]splits=line.trim().replaceAll("[0-9]

java - Spark : Read Iterate on 2 files

我需要一些有关Spark+Java编程的帮助。这是我的问题:我在hdfs中有一个大文件,名为A,另一个大文件名为B。基本上,我需要同时迭代第一个(A)和第二个(B)。我的意思是这样的(这是伪代码):a=read.A;//ReadrecordfromAb=read.B;//ReadrecordfromBwhile(a!=EOF){if(a>b){b=read.B;//WriteOutputinsomeway}else{a=read.A;//Writeoutputinsomeway}}是否可以使用Spark+Java做类似的事情? 最佳答案

hadoop - Hive count(*) 查询未调用 mapreduce

我在配置单元中有外部表,我正在尝试运行selectcount(*)fromtable_name查询,但查询立即返回并给出我认为已经存储的结果。查询返回的结果不正确。有没有办法强制执行mapreduce作业并使查询每次都执行。注意:并非所有外部表都遵循此行为,但其中一些外部表遵循此行为。使用的版本:Hive0.14.0.2.2.6.0-2800,Hadoop2.6.0.2.2.6.0-2800(Hortonworks) 最佳答案 经过一些发现,我找到了一种方法,可以启动MR来计算orc表上的记录数。ANALYZETABLE'表名'PA

scala - 如何将 Scalding TypedPipe 转换为 Iterator

在我的Scaldinghadoop作业中,我在管道上有一些分组逻辑,然后我需要处理每个组:valgeorecs:TypedPipe[GeoRecord]=getRecordsgeorecs.map(r=>(getRegion(r),r)).groupBy(_._1).mapValueStream(xs=>clusterRecords(xs)).values.write(out)在clusterRecords内部,我需要将传入的迭代器转换为TypedPipe,以便我可以1)对其进行采样和2)取叉积://turntheiteratortoapipesowecansampleitvalsam

hadoop - 使用 spark/scala,我使用 saveAsTextFile() 到 HDFS,但是 hiveql("select count(*) from...) return 0

我创建了如下外部表...hive-e"createexternaltabletemp_db.temp_table(achar(10),bint)PARTITIONEDBY(PART_DATEVARCHAR(10))ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'STOREDASTEXTFILELOCATION'/work/temp_db/temp_table'"我在IntelliJIDEA中将saveAsTextFile()与scala一起使用,如下所示...itemsRdd.map(_.makeTsv).saveAsTextFile("hdfs://w

hadoop - PIG : Unable to open iterator for alias AliasName. 标量在输出中有多于一行

我是pig的新手,正在尝试自学。我编写了一个脚本来获取从words.txt文件中读取的单词的纪元时间。这是脚本。words=LOAD'words.txt'ASword:chararray;B=FOREACHAGENERATECONCAT(CONCAT(A.word,'_'),(chararray)ToUnixTime(CurrentTime());dumpB;但问题是,如果words.txt文件只有一个单词,它会给出正确的输出。如果它有多个词,比如word1word2word3word4然后它给出了以下错误ERROR1066:UnabletoopeniteratorforaliasBj

java - Apache Spark : In PairFlatMapFunction, 如何将元组添加回 Iterable<Tuple2<Integer, String>> 返回类型

我是新手。我一直在研究涉及两个数据集的代码。因此,我从PairFlatMapFunction开始,在其中我正在处理映射器。JavaPairRDDtrainingArray=trainingData.flatMapToPair(newPairFlatMapFunction(){publicIterable>call(Strings){//codetoformthetuplesoftypeTuple2//newTuples2}如何将元组添加回可迭代类以供缩减器(reduceByKey)处理。如有任何指点,我们将不胜感激。 最佳答案 谢谢

hadoop - MAX(Count) 函数 apache pig latin

这个下面的程序我正尝试在ApachePig中按原样和非结构化数据执行它i)我有包含街道名称、城市和州的数据集:ii)按州分组iii)我在数据集中获取COUNT(*)个状态现在我的o/p将类似于statename,count===>该状态在数据集中可用的时间程序:realestate=LOADDATAusingpigstorage(',')as(street:string,citystring,statestring);A=GROUPrealestatebystate;B=FOREACHAGENERATEgroup,count(*)O/P会像CA,14washington,20现在我需要

java - Hadoop Iterator 在第一次迭代时跳过方法调用

我有一个MapReduce程序,在Reducer类中,我的方法在第一次迭代中没有被调用。我想要实现的是在迭代器的每2个连续值之间生成一些新行。(对像:(1,2),(2,3),(3,4)......)。我错过了什么?而且我还测试了我有我需要的对,看起来不错,但似乎第一对没有调用我的方法..generate()-将在每2个连续行之间生成新行(填补时间间隔)输入:X、Y、00:00:00、908X、Y、00:00:05、122X、Y、00:00:07、123期望的输出:X、Y、00:00:00、908X、Y、00:00:01、908X、Y、00:00:02、908X、Y、00:00:03、9

hadoop - HIVE - "skip.footer.line.count"在 Impala 中不起作用

我正在将平面文件传送到hdfs。文件的一般结构如下:我在这个数据集之上构建了一个外部配置单元表。下面是我的配置单元ddl:createexternaltableext_test(idstring,namestring,agestring)rowformatDELIMITEDFIELDSTERMINATEDBY','STOREDASTEXTFILELOCATION''TBLPROPERTIES('skip.footer.line.count'='1','skip.header.line.count'='2')当我在HIVE中查询select*fromext_test时;我从外部表中得到了