草庐IT

input_count

全部标签

java - 在 map reduce word count 程序中需要获取单词存在的文件

我正在读取多个输入文件以解决字数统计问题。示例文件名:文件1.txt文件2.txt文件3.txt我能够获得字数,但如果我还想获得文件名以及字数,应该添加什么。举个例子,文件1的内容:欢迎使用Hadoop文件2的内容:这是hadoop当前输出:Hadoop2是1这1到1欢迎1预期输出:Hadoop2File01.txtFile02.txt是1个File02.txt这1个File02.txt到1File01.txt欢迎1File01.txt 最佳答案 首先对输入进行拆分字符串文件=((FileSplit)inputSplit).getP

java - hadoop java : how to know that end of reducer input is reached?

我的reducer是这样的publicstaticclassReduceextendsMapReduceBaseimplementsReducer{ListallRecords=newArrayList();publicvoidreduce(IntWritablekey,Iteratorvalues,OutputCollectoroutput,Reporterreporter)throwsIOException{allRecords.add(values.next());Text[]outputValues=newText[7];for(inti=1;i>=7;i++){outputV

sql - 如何用 Hive 做 Max in count(*)?

我有两个表:飞行:年份,产地机场:代码,名称这是一个数据样本:飞:1989,SF1989,SF1989,NY1993,NY1998,Par1998,Par1998,NY机场:SF,InternationalAirportNY,InterAirPar,CharlesdeGaulle我想获得每年使用最多的机场。所以首先我做了这个请求来获取每个机场每年出现的次数:SELECTv.Year,a.airport,count(*)FromairportsaJOINVolvON(a.iata=v.Dest)GroupByv.Year,a.airportORDERBYYearASC,airportAS

hadoop - hdfs dfs -count 从哪里获取信息?

我们需要计算Multi-Tenancy多节点集群中大量目录中的文件数量,该集群具有大量数据。所以,我想知道命令“hdfsdfs-count/path/to/directory”从哪里来得到它的信息?它像hdfsdfs-ls一样工作吗?或者它直接从HDFS中的Namenode获取它的信息?非常感谢! 最佳答案 它从FileSystemAPI调用getContentSummary方法:ContentSummarysummary=src.fs.getContentSummary(src.path);out.println(summary.

scala - java.lang.NumberFormatException : For input string: "|" 异常

我已经将一个表导入到HDFS中作为fields-terminated-by'|'sqoopimport\--connectjdbc:mysql://connection\--username\--password\--tableproducts\--as-textfile\--target-dir/user/username/productsdemo\--fields-terminated-by'|'之后,我尝试使用spark-shell版本1.6.2将其读取为RDDvarproductsRDD=sc.textFile("/user/username/productsdemo")并将其

hadoop - 从 "reduce input records"到 "reduce input groups"

运行MapRed作业后,我们会得到一些关于该作业的摘要,例如:...reduceinputrecords:10reduceinputgroups:3...我知道这是由组合重复键引起的。我的问题是reducer用来组合记录的方法是什么?key1.equals(key2)orkey1.hashCode==key2.hashCode?谢谢。 最佳答案 只有compareTo因为键必须实现WritableComparable.key.hashCode()用于分区原因。永远不会使用等于。 关于ha

hadoop - Apache pig -错误 2118 : For input string: "4f8:0:a111::add:9898"

我们最近升级了集群以使用Hadoop2.0.0-cdh4.4.0。更改后,我们需要重新安装pig,它曾经工作得非常好。安装后asdescribedhere,最简单的HBase作业不会创建。raw_protobuffer=LOAD'hbase://data_table'USINGorg.apache.pig.backend.hadoop.hbase.HBaseStorage('external_data:downloaded','-limit=1-gte=0-lte=1')AS(data:bytearray);魔法失败了:FailedJobs:JobIdAliasFeatureMessa

Hadoop : Number of input records for reducer

无论如何,每个reducer进程都可以确定它必须处理的元素或记录的数量吗? 最佳答案 简短回答-提前不,reducer不知道可迭代对象支持多少个值。您可以执行此操作的唯一方法是在迭代时进行计数,但您不能再对可迭代对象进行重新迭代。长答案-支持可迭代对象实际上是序列化键/值对的排序字节数组。reducer有两个比较器-一个用于按键顺序对键/值对进行排序,然后第二个用于确定键之间的边界(称为键分组器)。通常,键分组器与键排序比较器相同。当迭代特定键的值时,底层上下文检查数组中的下一个键,并使用分组比较器与前一个键进行比较。如果比较器确定

hadoop - Impala 可以从表中执行 COUNT(*) 但不能执行 SELECT *

我遇到了一个奇怪的Impala行为。我从复制到Hadoop集群中的.csv文件在HUE中创建了一个表。我可以通过Metastore管理器在HUE中正确导航表格,但我无法在Impala中运行以下查询,因为它会抛出IllegalStateException:null异常:select*frommy_db.my_tablelimit100;奇怪的是下面的命令检索到正确的行数:selectcount(*)frommy_db.my_table; 最佳答案 错误是由无效类型引起的。并不是所有的Hive数据类型在Impala中都受支持。Impal

java.lang.NumberFormatException : For input string: "100" while executing MapReduce 异常

我正在编写一个MapReduce作业,用于在facebook上寻找共同的friend。这是我的映射器的输入:100,200300400500600200,100300400300,100200400500400,100200300500,100300600,100这是我的映射器代码的一部分:map{Stringline=value.toString();String[]LineSplits=line.split(",");String[]friends=LineSplits[1].trim().split("");for(inti=0;i当我执行此操作时,我在friend2中获得了正确