hadoop
coco_ethan
Your rose,My love!
展开
-
MapReduce框架中PageRank算法的代码实现
主要包括5个类PageRankNode:图中的节点类-代表一个页面PageRankJob:实现分散各个节点的PR值的类DistributionPRMass:实现dangling节点的PR值分散到其它节点的Job类RangePartitioner:partition类 将连续的节点分配到同一个reduce中PageRankDirver:整个工作的驱动类(主函转载 2013-11-25 10:56:38 · 1160 阅读 · 0 评论 -
Hadoop编程之MapReduce操作Mysql数据库
1,首先建立mysql的数据库,表:如下图下面是MapReduce编程了,需要导入mysql数据库驱动jar包;首先需要自定义Recoder,这里是CourceRecord转载 2014-04-25 16:08:15 · 507 阅读 · 0 评论 -
Hadoop,MapReduce 操作 Mysql
MapReduce怎样读取关系数据库的数据,选择的关系数据库为MySql,因为它是开源的软件,所以大家用的比较多。以前上学的时候就没有用过开源的软件,直接用盗版,也相当与免费,且比开源好用,例如向oracle,windows7等等。现在工作了,由于公司考虑成本的问题,所以转载 2014-04-25 16:16:52 · 617 阅读 · 0 评论 -
十分钟掌握MapReduce的精髓
微软著名的C++大师Herb Sutter在2005年初的时候曾经写过一篇重量级的文章:”The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software“,预言OO之后软件开发将要面临的又一次重大变革-并行计算。 摩尔定律统制下的软件开发时代有一个非常有意思的现象:”Andy giveth, and Bi转载 2014-04-25 17:04:00 · 622 阅读 · 0 评论 -
Hadoop 中利用 mapreduce 读写 mysql 数据
有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv、uv 数据,然后为了实时查询的需求,或者一些 OLAP 的需求,我们需要 mapreduce 与 mysql 进行数据的交互,而这些特性正是 hbase 或者 hive 目前亟待改进的地方。好了言归正传,简单的说说背景、原理以及需要注意的地方:1、为了方便 MapReduce 直接访问关系型数据库(Mysql转载 2014-04-25 16:19:57 · 749 阅读 · 0 评论 -
Hadoop中DBInputFormat和DBOutputFormat使用
一、背景为了方便MapReduce直接访问关系型数据库(Mysql,Oracle),Hadoop提供了DBInputFormat和DBOutputFormat两个类。通过DBInputFormat类把数据库表数据读入到HDFS,根据DBOutputFormat类把MapReduce产生的结果集导入到数据库表中。推荐阅读:Hadoop 中利用 MapReduce 读写 MySQL 数据转载 2014-04-28 09:31:34 · 977 阅读 · 0 评论 -
Hadoop学习笔记
应用开发主要知识点如下:Configuration类(支持overwrite,variable $)测试(mock单元测试,本地测试,集群测试) Tool,ToolRunner 集群测试(package, 启动job, Job web UI for namenode and jobtracker) 运程调试器(keep.failed.task.files =原创 2014-06-18 08:57:10 · 803 阅读 · 0 评论 -
Hadoop中如何正确编写继承自Writable接口的子类
Hadoop中可以编写自己的类,用作hadoop job的key或者value类型,自己编写的类要实现借口Writable。我编写了一个HttpContent类,主要用于保存爬取网页的源码,返回状态和编码格式信息,他在mapper中别实例化保存网页内容,然后传输到reducer中被使用,在编写中遇到了一些问题:(1)首先是没有编写默认的构造函数类,因为java中的反馈机制需要一个参数为空的转载 2014-06-18 09:29:16 · 677 阅读 · 0 评论 -
Hadoop源码解读
Hadoop源代码分析(一)关键字: 分布式 云计算 完整文章及图,在我的资源里面,可以去下载。Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。 GoogleCluster: http://research.google.com/archive/googlecluster.html Chubby:http://labs.go转载 2014-11-07 08:28:54 · 1095 阅读 · 0 评论 -
nutch 1.7 导入 eclipse 其他版本类似
前提: jdk eclipse 等等安装就略过了。 下载 apache-nutch-1.7-src.zip 包 和 apache-nutch-1.7-bin.zip 包一、1、创建一个Java Project 。2、复制 nutch-1.7-src 包下 java 包里的org整个包放在 项目的src包下。3、复制 nutch-1.7-bin包里转载 2014-12-18 00:44:53 · 522 阅读 · 0 评论 -
Hadoop作业提交的方法
最近几天一直在纠结hadoop作业提交的问题,对于命令行提交作业以及在集群中提交作业这里不再赘述,不会就去Google吧! 我们在客户机提交作业的时候总是发现出错,eclipse总是报jar file not found 的错误!我们知道客户端提交任务的时候,使用方法job.setWaitForCompletion(true)的时候,这个方法会调用job的submit()方法,sub原创 2014-12-02 19:36:11 · 622 阅读 · 0 评论 -
mapreduce编程(一)-二次排序
mr自带的例子中的源码SecondarySort,我重新写了一下,基本没变。这个例子中定义的map和reduce如下,关键是它对输入输出类型的定义:(java泛型编程) public static class Map extends Mapper public static class Reduce extends Reducer1 首先说一下工作原理:在m转载 2015-01-15 16:07:51 · 540 阅读 · 0 评论 -
HDFS中使用append出错
1.文件append的问题 hadoop的版本1.0.4以后,API中已经有了追加写入的功能,但不建议在生产环境中使用,原因如下:Does HDFS allow appends to files? This is currently set to false because there are bugs in the "append code" and is not supported i原创 2014-12-10 13:32:21 · 3872 阅读 · 0 评论 -
mapreduce编程(二)- 大象书中求每一年的最高温度
书上的例子是为了取出一年当中气温最高的值,那么将年份和气温做了一个复合的key. 1 通过设置了partitioner来进行分区。因为分区是按照年份来进行,所以同年的数据就可以分区到一个reducer中。2 自定义key比较器,按照年份升序,温度值降序。这样map输出的所有kv对就是按照年份升序,温度值降序排列的。3 自定义分组比较器,所有同一年的数据属于同一个组,那么在r转载 2015-01-15 16:13:15 · 722 阅读 · 0 评论 -
hadoop作业调优参数整理及原理
1 Map side tuning参数1.1 MapTask运行内部原理当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘。这中间的过程比较复杂,并且利用到了内存buffer来进行已经产生的部分结果的缓存,并在内存buffer中进行一些预排序来优化整个map的性能。如上图所示,每一个map都会对应存在一个内存buffer(MapOut转载 2014-12-15 00:33:16 · 503 阅读 · 0 评论 -
Hadoop如何计算map数和reduce数
Hadoop在运行一个mapreduce job之前,需要估算这个job的maptask数和reducetask数。首先分析一下job的maptask数,当一个job提交时,jobclient首先分析job被拆分的split数量,然后吧job.split文件放置在HDFS中,一个job的MapTask数量就等于split的个数。job.split中包含split的个数由FileInputF转载 2014-12-15 00:34:24 · 563 阅读 · 0 评论 -
Hadoop MapReduce操作MySQL
"不知你是否想过,计算一下在城市中的每台电脑里的文件数加起来的共数有多少?似乎是一个非常不可思议的问题,将会是一个非常庞大的数字,如果用计算机去远程挨个统计一遍数以万计的计算机,首先要去扫描磁盘,然后再去做统计,最后把结果累加,很难在容许的时间范围内得出一个结果。 但如果在每台机器上有一个程序让他去计算(统计),在分组里合并计算结果,最后返回给中心服务器,貌似这样能在一定的短时间内得出结果。转载 2014-04-25 17:00:17 · 803 阅读 · 0 评论 -
Hadoop 中利用 mapreduce 读写 mysql 数据
有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv、uv 数据,然后为了实时查询的需求,或者一些 OLAP 的需求,我们需要 mapreduce 与 mysql 进行数据的交互,而这些特性正是 hbase 或者 hive 目前亟待改进的地方。好了言归正传,简单的说说背景、原理以及需要注意的地方:1、为了方便 MapReduce 直接访问关系型数据库(Mysql原创 2014-05-08 01:10:24 · 3268 阅读 · 0 评论 -
java操作hdfs常用方法封装
最近一段时间又开始做hadoop相关开发,包括hdfs、mr、hbase、hive等,又有了更进一步的了解,下边就简单写些封装好的java操作hdfs的工具类中的方法。1、 从HDFS上指定的文件中读取子目录 public static List getSubDirs(String rootDir) { // 存放最后返回的文件夹列表 List原创 2014-03-20 15:17:54 · 1781 阅读 · 0 评论 -
MapReduce实现的PageRank原理
PageRank手工计算得出的值见帖子 http://f.dataguru.cn/thread-17158-1-1.html 这个值有助于我们验证下面MR计算是不是正确首先假设有两个节点A和B 原始矩阵如tiger老师的幻灯片第九页 a=1网页1和2保存在节点A上 网页3和4保存在节点B上由于A在A上很容易计算1和2的出链 根据MR的本地运算的思想,网页1和2的处理必在A上完成,B也转载 2013-11-25 10:45:49 · 897 阅读 · 0 评论 -
Hadoop集群的配置调优
一、背景Hadoop的集群使用也有些时候了,不过都是小集群的使用(数量小于30台)。在这个过程中不断的进行着配置调优的操作。最早的时候,在网上也没有找到一些合适的配置调优方法,于是,我在这里列举一些基本的调优配置,以供参考。最后,还有一个我自己的测试环境的配置说明,也可以参看一下。二、环境和配置1. 版本和环境Ø Hadoop版本:apache发布的0转载 2013-11-15 17:07:30 · 890 阅读 · 0 评论 -
集群中节点的datanode无法启动(转)
转载:http://xiaoxia001.iteye.com/blog/1279354用三台centos操作系统的机器搭建了一个hadoop的分布式集群。启动服务后失败,查看datanode的日志,提示错误:ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatib转载 2013-11-15 16:55:00 · 1569 阅读 · 0 评论 -
hadoop中的排序(转)
1:shuffle阶段的排序(部分排序)shuffle阶段的排序可以理解成两部分,一个是对spill进行分区时,由于一个分区包含多个key值,所以要对分区内的按照key进行排序,即key值相同的一串存放在一起,这样一个partition内按照key值整体有序了。第二部分并不是排序,而是进行merge,merge有两次,一次是map端将多个spill 按照分区和分区内的key进行me转载 2013-11-15 16:53:07 · 1377 阅读 · 0 评论 -
Hadoop 学习笔记(转)
1. Hadoop框架的两个重点:MapReduce 和HDFSMapReduce: (1)在map进行之前,需要对输入文件在客户端先进行“分片”,然后将分片信息上传到HDFS。 (2)分片上传结束后,jobtracker拿到分片信息,来分配map,reduct task;map对每条记录的输出以 的形式输出。 (3)如果定义了combin转载 2013-11-15 16:51:38 · 1162 阅读 · 0 评论 -
hadoop hbase zookeeper启动顺序 笔记
今天在hadoop的基础上对hbase进行搭建(hbase安装:http://blog.csdn.net/gaokao2011/article/details/17020285),在启动的hbase的时候报错,提示未找到zookeeper;ok,那就把zookeeper给安装了(zookeeper安装:http://blog.csdn.net/gaokao2011/article/details/原创 2013-11-30 16:08:39 · 3820 阅读 · 0 评论 -
hadoop源码研究 -M/R(1)
InputFormat 将输入的数据集切割成小数据集 InputSplits, 每一个 InputSplit 将由一个 Mapper 负责处理。此外 InputFormat 中还提供一个 RecordReader 的实现, 将一个 InputSplit 解析成 对提供给 map 函数。 默认:TextInputFormat(针对文本文件,按行将文本文件切割成 InputSp转载 2013-12-03 10:08:59 · 781 阅读 · 0 评论 -
hadoop源码研究--Map (4)
Hadoop的MapReduce框架中,Map动作通过Mapper类来抽象。一般来说,我们会实现自己特殊的Mapper,并注册到系统中,执行时,我们的Mapper会被MapReduce框架调用。内部类Context继承自MapContext,并没有引入任何新的方法。Mapper的四个方法是setup,map,cleanup和run。其中,setup和cleanup用于管转载 2013-12-03 10:12:02 · 696 阅读 · 0 评论 -
hadoop源码研究--output (5)
Map的结果,会通过partition分发到Reducer上,Reducer做完Reduce操作后,通过OutputFormat,进行输出,下面我们就来分析参与这个过程的类。Mapper的结果,可能送到可能的Combiner做合并,Combiner在系统中并没有自己的基类,而是用Reducer作为Combiner的基类,他们对外的功能是一样的,只是使用的位置和使用时的上下文不太一样转载 2013-12-03 10:12:40 · 737 阅读 · 0 评论 -
hadoop源码研究(2)
Job继承自JobContext,提供了一系列的set方法,用于设置Job的一些属性(Job更新属性,JobContext读属性),同时,Job还提供了一些对Job进行控制的方法,如下:l mapProgress:map的进度(0—1.0);l reduceProgress:reduce的进度(0—1.0);l i转载 2013-12-03 10:10:05 · 572 阅读 · 0 评论 -
hadoop源码研究-input (3)
InputFormat,它描述了一个MapReduce Job的输入,通过InputFormat,Hadoop可以:l 检查MapReduce输入数据的正确性;l 将输入数据切分为逻辑块InputSplit,这些块会分配给Mapper;l 提供一个RecordReader实现,Mapper用该实现从InputSplit中读取输转载 2013-12-03 10:10:46 · 757 阅读 · 0 评论 -
Nutch+Hadoop集群搭建
1、Apache Nutch Apache Nutch是一个用于网络搜索的开源框架,它提供了我们运行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬虫。1.1、Nutch的组件结构WebDB:存储网页数据和连接信息Fetch lists:将WebDB所存储的连接分成多个组,来用于分布式检索Fetchers:检索Fetch list中的内容并下转载 2013-11-29 14:48:07 · 840 阅读 · 0 评论 -
mapreduce中map处理过程?参数如何解析传递给map方法?
1.首先介绍一下wordcount 早mapreduce框架中的 对应关系大家都知道 mapreduce 分为 map 和reduce 两个部分,那么在wordcount例子中,很显然 对文件word 计数部分为map,对 word 数量累计部分为 reduce;大家都明白 map接受一个参数,经过map处理后,将处理结果作为reduce的入参分发给reduce,然后在reduc原创 2013-11-15 17:03:38 · 4230 阅读 · 1 评论 -
Apache Hadoop生态系统
Hadoop从诞生至今已经发展成为一个大数据相关的庞大的软件生态系统。这里收集整理了跟Hadoop相关的Apache下的开源项目,以供后续分析研究。Apache HadoopHadoop是一个大数据处理框架,它可用于从单台到数以千计的服务器集群的存储和计算服务。HadoopDistributed File System (HDFS) 提供了能够跨越多台计算机的大数据存储服务,而Ma转载 2014-01-13 16:43:28 · 819 阅读 · 0 评论 -
hadoop执行过程出错汇总
2014-4-29 劳动节来临之际,被这节日给坑了,就像cc说的好,别老师原创 2014-04-29 16:01:53 · 655 阅读 · 0 评论 -
Hadoop查看文件夹大小
查看Hadoop中input文件夹大小的指令:hadoop fs -dus input 得到的结果为102400,那么单位是Byte。原创 2015-06-29 16:48:39 · 13022 阅读 · 0 评论