hadoop map怎么一次读取多行数据(一块数据)而非一行数据?

问题描述

hadoop map怎么一次读取多行数据(一块数据)而非一行数据?

利用hadoop做数据SVM并行计算,但是想在map任务中将数据分块建立模型再reduce中将分块的
模型合并,但是map每次只能读取一行数据,不能满足数据挖掘中用一整块数据去建模的
原则,请教大家怎么修改map任务逻辑,能一次读取一块数据而非一行数据,谢谢

解决方案

你需要自定义hadoop的InputFormat,而不是改mapper

解决方案二:

看这篇博客 里面讲了怎么实现一次读取多行
http://blog.csdn.net/tanggao1314/article/details/51307642

时间: 2024-10-08 18:19:21

hadoop map怎么一次读取多行数据(一块数据)而非一行数据?的相关文章

Hadoop Map/Reduce教程

目的 这篇教程从用户的角度出发,全面地介绍了Hadoop Map/Reduce框架的各个方面. 先决条件 请先确认Hadoop被正确安装.配置和正常运行中.更多信息见: Hadoop快速入门对初次使用者. Hadoop集群搭建对大规模分布式集群. 概述 Hadoop Map/Reduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集. 一个Map/Reduce 作业(job) 通常会把输入的数据集切分为若

c++ 问题 怎么文本文件中读取特定行的数据进行排序?

问题描述 c++ 问题 怎么文本文件中读取特定行的数据进行排序? 例如我的文件保存格式是这样的: 怎么得到科研时间 和排名的数据 解决方案 行的结束符是回车换行,即 0x0D 0x0A 想读取一行,最简单.原始的方法就是一个字符一个字符读,然后判断是否是回车换行?如果是,则一行结束:否则继续读. 先将数据读取到结构体中,然后想怎么处理就与文件没有关系了.处理完后,再写入文件. 解决方案二: 需读:读而不用.一行一行读下去,读到你要的,进行处理. 解决方案三: 这个地方举个例子,将所有的关于的信息

hadoop的job执行异常,能解决或者告诉我hadoop的调整日志级别方法也行!

问题描述 hadoop的job执行异常,能解决或者告诉我hadoop的调整日志级别方法也行! 2015-01-14 02:48:59706 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1421231566739_0003_m_000000_3: Error: java.io.IOEx

matlab 数据处理-matlab怎样实现读取指定行?

问题描述 matlab怎样实现读取指定行? 比如说我有个txt里有100w行,我想读取第30w行,应该如何实现呢? 不要循环按行读取的方法 解决方案 matlab中如何读取TXT数据文件中指定行的数据? 下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要稍微修改一下就可以. function dataout=dataread(filein,fileout,line) fidin=fopen(filein,'r'); fidout=fopen(fil

sql-SQL读取某行某字段的问题.

问题描述 SQL读取某行某字段的问题. 在ORACLE SQL中,我想实现以下功能: 在某个指定行中,寻找某个特定字段的值,并输出拥有所有次特定字段行. 例如: 一个表有以下属性:雇员姓名,雇员老板 我想查找'王五'的老板(这里假设是张三),并输出所有老板的名字为张三的雇员. 解决方案 子查询,先用查询得到老板名称,然后再做为in的判断. select xx from t where 老板 in (select 老板 from t where 员工 = yyy) 解决方案二: 你可以直接把whe

如何在java中实现读取一个txt文档中的随机一行

问题描述 如何在java中实现读取一个txt文档中的随机一行 如题,如何在java中实现读取一个txt文档中的随机一行? 主要就是怎么随机读取 解决方案 根据楼上的说法,来总结一下吧,总体来说,就是将文件全部都读取出来,每一行存储到一个数组或集合中,然后再通过产生随机数,来对这个数组或是 集合进行随机的访问.这样一来就解决了 解决方案二: 文本文件只能顺序读,不能随机读.你的需求只能是读取文本文件每一行到一个arraylist,然后得到下标范围,产生一个随机数,取那一行 解决方案三: http:

《深入理解Hadoop(原书第2版)》——第1章 为什么会有大数据 1.1 什么是大数据

第1章 为什么会有大数据 随着近20多年来计算技术的不断革新,企业积累了大量数据.数字传感器的进步使得通信系统越来越广泛的使用,尤其是移动平台和移动终端的飞速增长:系统运行产生的大量日志以及越来越多的企业采用无纸化办公的工作方式,这些情况都使得企业积攒起了海量数据资源.并且随着人们对现代科技越来越多的依赖,数据将会以更快的速度增长下去. 摩尔定律告诉我们,大约每隔两年,计算机的性能将历史性地提升一倍.最初,计算资源的提升速度满足了飞速增长的数据的处理需求.好景不长,到2005年前后,数据处理需求

socket通信inputStream.read(byte)读取速度小于接收速度,导致多帧数据叠加在一起。

问题描述 在socket通信中,由于inputStream.read(byte)是尽可能的读byte[]大小的数据,当服务端发送数据速度大于客户端读取数据的速度时,就会出现客户端读到多帧连在一起的报文.而这些发送数据,读取数据的速度是未知的.怎么解决这个问题,服务器端不能改变, 解决方案 解决方案二:想办法将读取的后续动作的耗时降低.比如读取动作只负责读取,读取的内容传给多线程进行处理.解决方案三:没用.....解决方案四:想到了一个办法,把所有读的数据放到一起,不管每次读的是多少,放在所接收数

nio-java NIO写入和读取的数据不一样 丢失了很多数据 怎么解决

问题描述 java NIO写入和读取的数据不一样 丢失了很多数据 怎么解决 java NIO写入和读取的数据不一样 丢失了很多数据 怎么解决 我把图片对象存入Bytebuffer, 发到服务器读取后,很多图片都是不完整的 解决方案 Java 读取 C++写入的二进制数据 解决方案二: 求大神给点思路~~~~~