草庐IT

write-stuff

全部标签

java - 可以覆盖 ReduceContext 中的 context.write() 方法吗?

使用0.20.2...是否可以覆盖ReduceContext中的context.write()方法?我有一整套Reducers,我希望在每个context.write()之前都使用一个特定的函数,但我不想让他们担心这个逻辑,只是为了处理它透明地。例如:Iteratorvit=values.iterator();if(trans2!=null){key=(Text)trans2.transform(key);}while(vit.hasNext()){Textitem=vit.next();if(trans1!=null){item=(Text)trans1.transform(item

hadoop - 自定义 hadoop 键和值 : How to write CompareTo() Method

我需要从映射器发出一个二维double组作为键和值。StackOverflow中发布了问题,但没有得到解答。我在给定的数据集中做一些矩阵乘法,之后我需要发出A*Atrns的值,它将是一个矩阵作为键和Atrans*D这也将是一个矩阵作为值。那么如何从映射器发出这些矩阵。并且该值应该与key本身相对应。iekey----->A*Atrans--------->aftermultiplicationtheresultwillbea2Darraywhichisdeclaredasdouble(matrix)letssaytheresultbeMatrix"Ekey"(double[][]Eke

hadoop - 什么是 "HDFS write pipeline"?

当我阅读hadoop权威指南时,我停留在以下句子:-writingthereduceoutputdoesconsumenetworkbandwidth,butonlyasmuchasanormalHDFSwritepipelineconsumes.问题:1.能否帮助我更详细地理解上面的句子。2.“HDFS写入管道”是什么意思? 最佳答案 当文件被写入HDFS时,许多与HDFSblock一致性和复制相关的事情正在幕后发生。这个过程的主要IO组件是far复制。还有与注册block的存在和状态的名称节点的双向通信。我认为当它说“写入管道”

hadoop - 如何在 context.write(k,v) 中输出值

在我的mapreduce工作中,我只想输出一些行。但是如果我这样编码:context.write(data,null);程序将抛出java.lang.NullPointerException。我不想像下面这样编码:context.write(data,newText(""));因为我必须修剪输出文件中每一行的空格。有什么好的方法可以解决吗?提前致谢。对不起,是我的错。我仔细检查了程序,发现原因是我将Reducer设置为combiner。如果我不使用组合器,声明context.write(数据,空);在reducer中工作正常。在输出数据文件中,只有数据线。分享来自hadoop权威指南的

hadoop - HDFS 性能差 : "Slow BlockReceiver write packet to mirror"

我想在新硬件堆栈上实例化另一个新Hadoop集群时提交一个奇怪的行为。一旦一切都安装好了,只要我们尝试在HDFS上执行任何I/O操作,我们就可以在数据节点日志中看到许多这样的消息:15/01/1422:13:07WARNdatanode.DataNode:SlowBlockReceiverwritepackettomirrortook6339ms(threshold=300ms)15/01/1422:13:26INFODataNode.clienttrace:src:/10.10.5.7:17276,dest:/10.10.5.4:50010,bytes:176285,op:HDFS_

Scala 和 Hive : best way to write a generic method that works with all types of Writable

我正在玩在Scala中为Hive编写通用UDF。我的第一个测试是编写一个函数来对数组(复杂数据类型)求和。我的代码stub如下所示(因为这是stub,请忽略asInstanceOf的用法:D):...classSumElementsextendsGenericUDF{protectedvalexpectedCategories:Array[Category]=Array(ObjectInspector.Category.LIST)protectedvarlistInspector:ListObjectInspector=_@throws(classOf[UDFNullArgumentE

java - Hadoop "error while writing TokenizerMapper permission denied"

我正在使用GoogleDeveloperConsole运行Hadoop示例“WordCount”。我在运行hadoopcom.sun.tools.javac.MainWordCount.java时遇到的错误是:WordCount.java:26:error:errorwhilewritingTokenizerMapper:WordCount$TokenizerMapper.class(Permissiondenied)publicstaticclassTokenizerMapper有一个箭头指向最后一行的类。echo$HADOOP_CLASSPATH返回/usr/lib/jvm/jav

java - Driver 中的 job.setOutputKeyClass 和 setOutputValueClass 与 reducer 的 context.write 方法不匹配,程序仍然运行正常。怎么办?

驱动代码:publicclassWcDriver{publicstaticvoidmain(String[]args)throwsIOException,InterruptedException,ClassNotFoundException{Configurationconf=newConfiguration();Jobjob=newJob(conf,"WcDriver");job.setJarByClass(WcDriver.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(LongWritable.cl

hadoop - 亚马逊 EC2 和 S3 : How to read and write data

我刚刚遵循了本指南:http://rogueleaderr.tumblr.com/post/32768181371/set-up-and-run-a-fully-distributed-hadoop-hbase-cluster在运行hadoop和hbase的AmazonEC2上设置集群。我现在想知道的是,我实际上如何在我的集群上运行的hbase中获取我的数据?我需要将它加载到S3中然后加载到我的hbase集群中吗?是否有加载/提取数据的最佳实践?由于我是EC2的新手,因此我将不胜感激。 最佳答案 您需要通过SSH连接到您的一个节点,

hadoop - Spark : saveAsTextFile() only creating SUCCESS file and no part file when writing to local filesystem

我正在使用以下命令将RDD写入文件:rdd.coalesce(1).saveAsTextFile(FilePath)当FilePath是HDFS路径(hdfs://node:9000/folder/)时一切正常。当FilePath是本地路径(file:///home/user/folder/)时,一切似乎都正常。输出文件夹已创建,SUCCESS文件也已存在。但是我没有看到任何包含输出的part-00000文件。没有其他文件。spark控制台输出也没有错误。我还尝试在调用saveAsTextFile()之前调用RDD上的collect,为输出文件夹提供777权限,但没有任何效果。请帮忙。