草庐IT

Output0Buffer

全部标签

java - Hadoop 文本输出格式 : add headers to CSV output

我正在维护一个简单的hadoop作业,该作业生成CSV文件作为HDFS中的输出。该作业使用TextOutputFormat。我想将前导标题行添加到csv文件(我知道零件文件是由不同的worker创建的,如果他们每个人都获得标题,那不是问题)。如何实现?编辑:级联可以help但乍一看我不想开始使用新框架编辑:所以我想为输出的CSV文件添加标题。列数是确定性的。这是我的Reducer类的骨架:importjava.io.IOException;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.Text;imp

java - MapReduce 作业 : weird output?

我正在编写我的第一个MapReduce作业。事情很简单:只计算文件中的字母数字字符。我已经完成生成我的jar文件并运行它,但除了调试输出之外,我找不到MR作业的输出。你能帮帮我吗?我的应用类:importCharacterCountMapper;importCharacterCountReducer;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.conf.Configured;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.Int

java - MAP_OUTPUT_RECORDS 值在 reducer 类中不断变化

我正在尝试使用reducer类中的MAP_OUTPUT_RECORDS计数器来计算示例wordcount程序中的单词百分比。这里是reducer中setup()方法的代码:publicstaticclassIntSumReducerextendsReducer{privateFloatWritableresult=newFloatWritable();privatelongtotal=0;@Overridepublicvoidsetup(Contextcontext)throwsIOException,InterruptedException{total=context.getCoun

hadoop - pig 错误 0 : Scalar has more than one row in the output

我有两个文件,我试图在模式匹配的基础上加入这两个文件。File1:weather.bbc.co.uk,112ads.facebook.com,113ads.amazon.co.uk,114www.sky.com,115news.bbc.co.uk,116pics.facebook.com,117File2:facebook.com,facebookbbc.co.uk,bbcnetflix.com,netflixflipkart.com,flipkartoutput:weather.bbc.co.uk,112,bbc.co.uk,bbcads.facebook.com,113,faceb

java - 为什么 HDFS 使用 Protocol Buffer 而不是 Java 序列化 API 进行序列化?

为什么HDFS使用ProtocolBuffer而不是Java序列化API?如果我想通过Java序列化将对象从一个数据节点发送到另一个数据节点怎么办?我已经尝试了几件事,但我收到以下错误:java.io.WriteAbortedException:写入中止;java.io.NotSerializableException:java.lang.Thread 最佳答案 因为具有外部架构定义的格式(如ProtocolBuffers)比生成非常冗长文件的内置Java序列化更节省空间。HDFS可以使用不同的格式来存储数据。提供最佳空间效率同时又

hadoop - 如何使用 LZO 以外的压缩处理 Hadoop Map/Reduce 中的 Protocol Buffer 文件?

我想使用HadoopMap/Reduce来处理delimited使用LZO以外的东西压缩的ProtocolBuffer文件,例如xz或gzip。Twitter的elephant-bird库似乎主要支持读取LZO压缩的protobuf文件,因此似乎不能满足我的需求。是否有现有的库或标准方法来执行此操作?(注意:正如您从我选择的压缩算法中看到的那样,解决方案没有必要使protobuf文件可拆分。您的答案甚至不需要指定特定的压缩算法,但应该至少允许我提到的其中之一。) 最佳答案 您可能需要查看Hadoop的RAgzip补丁,以处理大型gz

hadoop - PIG 拉丁语 : Output Path based on Field Value

我有一个日志文件,其中包含来自多个域的日志。现在我想对它们进行一些分析并将输出存储在一个名为域的目录中。我在日志中将域作为字段值:STOREoutputlogsINTO'testpath/DOMAIN/logsUSING....这可能吗?或者我只能将输出存储在硬编码文件路径中吗? 最佳答案 如果域的名称是outputlogs中的一个字段,那么您可以使用MultiStorage从存钱jar。像这样的东西:STOREoutputlogsINTO'testpath/DOMAIN/logs'USINGMultiStorage('testpa

hadoop - 亚马逊弹性 map 减少 : Job flow fails because output file is not yet generated

我有一个执行三项任务的AmazonEMR作业流程,第一项的输出是后续两项的输入。第二个任务的输出被第三个任务DistributedCache使用。我已经完全在EMR网站(控制台)上创建了作业流,但集群立即失败,因为它找不到分布式缓存文件-因为它尚未在步骤#1中创建。我唯一的选择是通过boostrap操作从CLI创建这些步骤,并指定--wait-for-steps选项吗?我无法执行一个任务的输入依赖于另一个任务的输出的多步骤作业流,这似乎很奇怪。 最佳答案 最后,我通过创建一个自举但没有任何步骤的AmazonEMR集群解决了这个问题。

hadoop - ArrayIndexOutOfBoundsException 在 MapOutputBuffer$Buffer.write 在 MapTask (Hadoop 2.7.1)

在Hadoop2.7.1上运行的Scalding驱Action业中出现ArrayIndexOutOfBounds的情况非常奇怪。下面的映射器日志转储。看起来Equator在spill2中以某种方式设置为负数。这正常吗?2015-08-1223:39:19,649INFO[main]org.apache.hadoop.mapred.MapTask:numReduceTasks:12015-08-1223:39:20,174INFO[main]org.apache.hadoop.mapred.MapTask:(EQUATOR)0kvi469762044(1879048176)2015-08

java - 输出文件包含 Mapper Output 而不是 Reducer 输出

您好,我正在尝试在独立模式下使用mapreduce技术求几个数字的平均值。我有两个输入文件。它包含值file1:2525252525和file2:1515151515。我的程序运行良好,但输出文件包含映射器的输出而不是缩减器的输出。这是我的代码:importjava.io.IOException;importjava.util.StringTokenizer;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.IntWritable;i