自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Shell(一)日期

#!/bin/bashstart_day=20071115end_day=20071120while [[ ${end_day} -gt ${start_day} ]]do    echo $start_day    /home/work/hadoop-client-stoff/hadoop/bin/hadoop fs -getmerge /log/20682/qu

2014-08-06 12:08:35 416

转载 Hadoop后时代

备注:以上的架构图来源于Google公司、Berkeley大学会议论文以及Taobao的技术分享。Binos_ICT.

2013-07-22 13:42:46 642

转载 Google Spanner和F1介绍

ZZ From http://qing.weibo.com/2294942122/88ca09aa3300221n.htmlGoogle Spanner原理- 全球级的分布式数据库标签:大数据云计算Google Spanner简介Spanner 是Google的全球级的分布式数据库 (Globally-Distributed Database) 。Spanner的扩展性

2013-07-22 13:20:58 1031

转载 Hadoop-MapReduce后时代

随着数据规模的扩展,传统的数据库朝着分布式文件系统+上层数据管理的方向发展。在这其中,Google的技术引领了整个技术的前进和发展。Google底层使用的是GFS,分布式文件系统保证了数据规模和机器规模的可扩展性,这对于一个海量数据处理系统来讲,可扩展性意味着体系架构的稳定性。这种版本的分布式文件系统,和HDFS的设计原理非常类似,它也是由Master(元数据服务器),ChunkServe

2013-07-22 01:22:46 597

转载 MapReduce编程模型的要点

背景MapReduce现在基本已经成为分布式并行编程框架的Bible,很多分布式计算引擎的实现[Hadoop][CIEL][Twister][Transformer][MR-mpi][Phoenix][Dryad]都将MapReduce作为一个核心的编程模型。MapReduce编程模型是什么?很多人都认为MapReduce只有这样两个过程构成:Map过程:Map(k1,v1)

2013-07-20 16:47:44 1073

转载 Hadoop如何组织中间数据的存储和传输(源码级分析)2

Hadoop如何组织中间数据的存储和传输(源码级分析)1 解读了MapTask的整体执行流程,该文档将分析MapTask从内存缓冲区刷新到本地磁盘的过程。MapTask环境设置:io.sort.mb = 200MB, io.sort.spill.percent=0.8.1、处理内存缓冲区位于MapTask.MapOutputBuffer类中,所有的信息都被存储在byte[] kvbuffe

2013-07-20 16:05:36 491

转载 MapTask与ReduceTask深入分析与调优

1 Map-side tunning1.1 MapTask运行内部原理当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘。这中间的过程比较复杂,并且利用到了内存buffer来进行已经产生的 部分结果的缓存,并在内存buffer中进行一些预排序来优化整个map的性能。如上图所示,每一个map都会对应存在一个内存 buffer(MapOu

2013-07-20 15:36:52 652

转载 Hadoop如何组织中间数据的存储和传输(源码级分析)1

Hadoop以可扩展、易用、分布式处理海量数据为目标,在海量数据处理领域不断地制造着神话。其中,最为重要的一个特性就是中间数据的使用上。Hadoop将Map阶段产生的结果,不直接存入HDFS,而是放在本地磁盘中作为中间数据存储起来。等到Reduce启动以后,就从Map阶段拉取中间数据。这个过程成为了MapReduce中的一个大家津津乐道的经典过程,但是,它内部是如何实现的呢?传输其中中间是通过

2013-07-20 14:44:14 724

转载 Hadoop平台优化综述

1.     概述随着企业要处理的数据量越来越大,MapReduce思想越来越受到重视。Hadoop是MapReduce的一个开源实现,由于其良好的扩展性和 容错性,已得到越来越广泛的应用。Hadoop作为一个基础数据处理平台,虽然其应用价值已得到大家认可,但仍存在很多问题,以下是主要几个:(1)     Namenode/jobtracker单点故障。 Hadoop采用的是mas

2013-07-20 12:26:43 523

转载 迭代式MapReduce框架介绍

1、  概述传统的MapReduce框架(见我的博文:传统MapReduce框架)把一个作业的执行过程分为两个阶段:map和reduce,在map阶段,每个map task读取一个block,并调用map()函数进行处理,然后将结果写到本地磁盘(注意,不是HDFS)上;在reduce阶段,每个reduce task远程的从map task所在节点上读取数据,调用reduce()函数进行

2013-07-19 12:27:42 592

转载 HaLoop

Hadoop的成功,让人们看到了使用普通商业集群处理大规模数据的合理性和必要性。但是,目前在使用Hadoop处理数据的过程中,发现一些应用在处理迭代计算的过程中,例如机器学习、数据挖掘、网页排名等应用的过程中,Hadoop的MR框架有一定的不足。不足主要存在于:hadoop的中间数据要存储在本地磁盘,我们迭代的时候,存在本地磁盘的数据并没有变化,只是I/O,频繁的I/O降低了系统的性能

2013-07-19 10:55:37 821

转载 MapReduce研究

MapReduce研究报告 1      MapReduce简介在过去的数年里,Google的许多员工实现了很多基于特殊应用的计算,用来处理海量的原始数据,比如文档爬虫、Web请求日志等。为了计算各种类型的数据,比如倒排索引,Web文档的图结构的各种表示,每天被请求数量最多的搜索集合等等。这样的计算在概念上很容易理解,但是,输入的数据量极大,只有计算被分布在成百上千的机器上才能

2013-07-18 14:00:57 584

转载 Hive 初始化运行流程

CliDriver 初始化过程 CliDriver.main  是 Cli 的入口 (1) 解析(Parse)args,放入cmdLine,处理 –hiveconf var=val  用于增加或者覆盖hive/hadoop配置,设置到System的属性中。 (2) 配置log4j,加载hive-log4j.properties里的配置信息。 (3)创建一个HiveC

2013-07-18 13:53:13 612

转载 Hive 执行过程源码分析

周末花了点时间,结合以前看的,大体看了一下 Hive 源码,主要包括 客户 / 服务器通信 ,语法解析器,语义分析器,逻辑计划生成器,计划优化器,物理计划生成器,物理计划执行器等部分。分别由包 parse,plan, optimizer, Exec 中的代码来实现的。       Hive 是将 SQL 语句转换成 hadoop 的 MapReduce 程序,通常在客户端执行 hive 命

2013-07-18 13:51:03 599

转载 Hive 源码解析—之—Hive的入口

Hive源码解析—之—hive的入口:初衷:hi,大家好,我叫红门,在hive方面是个菜鸟,现在读hive源码希望能够更了解底层,尤其是hive与Hadoop切换这块。但在读hive源码时发现比Hadoop源码难读一些,虽然Hadoop源码量比较大,但是整体很规范,命名规范,关键地方注释的比较明确。去年在读和修改Hadoop源码时都感觉比较清晰,可读性比较好一些,往往可以望文生义,可能

2013-07-18 13:34:43 627

转载 海量数据处理专题(九)——外排序

【引言】在数据结构的课程上,我们学习了不少的排序算法,冒泡,堆,快排,归并等。但是这些排序方法有着共同的特点,那就是所有的操作都是在内存中完成的,算法过程中不需要IO,这就使得这样的算法总体上速度比较快,但是也随之出现了一个问题:当需要排序的数据量异常的大的时候,以上的算法就显得力不从心了。这时候,你需要一种另外的排序算法,它的名字叫“外排序”。通常的,设备的内存读取速度要比外存读

2013-07-17 23:31:23 495

转载 海量数据处理专题(八)——倒排索引(搜索引擎之基石)

引言:在信息大爆炸的今天,有了搜索引擎的帮助,使得我们能够快速,便捷的找到所求。提到搜索引擎,就不得不说VSM模型,说到VSM,就不得不聊倒排索引。可以毫不夸张的讲,倒排索引是搜索引擎的基石。VSM检索模型VSM全称是Vector Space Model(向量空间模型),是IR(Information Retrieval信息检索)模型中的一种,由于其简单,直观,高效,所以被

2013-07-17 23:26:55 516

转载 海量数据处理专题(七)——数据库索引及优化

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。数据库索引什么是索引数据库索引好比是一本书前面的目录,能加快数据库的查询速度。例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),

2013-07-17 22:58:46 560

转载 海量数据处理专题(六)——双层桶划分

【什么是双层桶】事实上,与其说双层桶划分是一种数据结构,不如说它是一种算法设计思想。面对一堆大量的数据我们无法处理的时候,我们可以将其分成一个个小的单元,然后根据一定的策略来处理这些小单元,从而达到目的。【适用范围】第k大,中位数,不重复或重复的数字【基本原理及要点】因为元素范围很大,不能利用直接寻址表,所以通过多次划分,逐步确定范围,然后最后在一个可以接受的范围内进行

2013-07-17 22:49:23 715

转载 海量数据处理专题(五)——堆

【什么是堆】概念:堆是一种特殊的二叉树,具备以下两种性质1)每个节点的值都大于(或者都小于,称为最小堆)其子节点的值2)树是完全平衡的,并且最后一层的树叶都在最左边这样就定义了一个最大堆。如下图用一个数组来表示堆:那么下面介绍二叉堆:二叉堆是一种完全二叉树,其任意子树的左右节点(如果有的话)的键值一定比根节点大,上图其实就是一个二叉堆。你一定发觉了,最小的一

2013-07-17 22:36:03 405

转载 海量数据处理专题(四)——Bit-map

【什么是Bit-map】所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们就可以采用Bit-map的方法来达

2013-07-17 22:25:15 378

转载 海量数据处理专题(三)——Hash

【什么是Hash】Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

2013-07-17 22:24:27 462

转载 海量数据处理专题(二)——Bloom Filter

【什么是Bloom Filter】Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter不适合那些“零错误”的应用场合。

2013-07-17 09:47:36 426

转载 海量数据处理专题(一)——开篇

大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。 

2013-07-17 09:40:51 462

转载 Mahout 协同过滤 itemBase RecommenderJob源码分析

Mahout支持2种 M/R 的jobs实现itemBase的协同过滤I.ItemSimilarityJobII.RecommenderJob下面我们对RecommenderJob进行分析,版本是mahout-distribution-0.7源码包位置:org.apache.mahout.cf.taste.hadoop.item.RecommenderJob

2013-07-16 23:38:10 477

转载 Linux文本处理常用命令

1.正则表达式  (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/、*、?等)组成。  (2)基本元字符集及其含义      ^ :只匹配行首。   如^a 匹配以a开头的行abc,a2e,a12,aaa,......      $ :只匹配行尾。   如^a 匹配以a结尾的行bca,12a,aaa,.......   

2013-07-16 23:34:46 376

转载 基于mapreduce的Hadoop join实现

对于一个大数据的分析应用,join是必不可少的一项功能.现在很多构建与hadoop之上的应用,如Hive,PIG等在其内部实现了join程序,可以通过很简单的sql语句或者数据操控脚本完成相应的Join工作.那么join应该如何实现呢?今天我们就对join做一个简单的实现.我们来看一个例子,现在有两组数据:一组为单位人员信息,如下:人员ID人员名称 地址ID1张三1

2013-07-16 22:12:46 413

转载 Bigtable Merge-Dump存储引擎

http://www.udpwork.com/item/4066.html单机存储引擎解决单机读写问题,Merge-Dump存储引擎设计成一种通用的存储引擎,同时支持数据写入,随机读取和顺序扫描功能。顺序扫描功能应用很广,比如MapReduce批处理,同一个广告主的所有关键词广告统计,用户浏览所有的收藏信息,淘宝卖家管理大量的商品等。简单的KV系统只需要支持随机读取,而类似Bi

2013-07-16 21:21:23 465

转载 HBase技术介绍

http://www.searchtb.com/2011/01/understanding-hbase.html一  HBase简介HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase是Google Bigtable的开源实

2013-07-16 10:04:02 413

转载 Cassandra存储机制

form http://www.ningoo.net/html/tag/sstable在2009年兴起的NoSQL运动中,Cassandra是其中重要的一个分布式key-value数据库产品,由Facebook在2008年开源,目前是Apache的顶级项目。最近twitter的一篇声明,表示将从MySQL迁移到Cassandra,更让其声名大振。Cassandra是结合了Google Bi

2013-07-16 08:49:08 449

转载 Hadoop RPC 实例

Datanode要向Namenode发送请求,希望得到一个字符串应答。假设Namenode的地址是127.0.0.1:9000  一、配置文件org.apache.hadoop.conf. Configuration;对应的配置文件是core-site.xml。配置项以key-value的形式存储。[xhtml] view plaincopy

2013-07-16 08:30:46 510

转载 hadoop的DFSOutputStream

将本地文件复制到HDFS时,其背后的复制过程是怎样的?本地文件通过什么方式传输到datanode上的呢?这里面很显然的是:1、文件在多个电脑之间进行了传输(至少有2台电脑:本地电脑和一个datanode节点)。2、如果文件超过一个block的大小(默认是64M),那么将一个文件分割成多个block是在哪里发生的?带着这些疑问,我们来解读一下源代码。一、找到“幕后英雄

2013-07-16 07:30:21 908

转载 Google核心技术-分布式基础设施

按:此为客座博文系列。投稿人吴朱华曾在IBM中国研究院从事与云计算相关的研究,现在正致力于研究云计算技术。本系列文章基于公开资料对Google App Engine的实现机制这个话题进行深度探讨。在切入Google App Engine之前,首先会对Google的核心技术和其整体架构进行分析,以帮助大家之后更好地理解Google App Engine的实现。本篇将主要介绍Googl

2013-07-16 07:09:40 612

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除