浅谈Hadoop (r4笔记第81天)

大数据的概念炒了好多年了,很显然这项技术经受住了时间的考验,不是有些人想的那样华而不实,多年来总是伴随着Hadoop的身影越发壮大。 这些年来数据的增长量真是发生了天翻地覆的变化,原来大家过年的时候都会很认真的拍一张全家福,恨不得把胶卷能够正反两用,多存点照片,现在好了,手机各类终端齐上阵,微博,微信,图片,小视频,所有的数据真是应有尽有。数据量上来了,数据的分析工作就显得尤为重要了。用现在很形象的一种描述就是,让数据说话。 Hadoop的使命就是主要海量数据的存储和分析,也有两个核心的功能,一个是HDFS,一个就是MapReduce。怎么理解呢,HDFS就是Hadoop Distributed FileSystem, MapReduce是一个编程模型,所做的工作是map和reduce两部分,这些海量数据需要存储,这个很容易理解,那么什么是MapReduce呢? 举一个简单的例子。 我们存在一些文本数据,是关于pm2.5的。记录了每天的数据情况。内容如下: 20150321 01 60 20150321 06 50 20150321 12 100 20150320 01 200 20150320 06 150 20150320 12 160 20150319 01 150 20150319 06 200 如果我们想知道这些数据中每天的pm2.5最高的值,不需要精确到小时,按天即可。 我们可以做一个映射,这个操作就是类似map部分。 20150321 60 20150321 50 20150321 100 20150320 200 20150320 150 20150320 160 20150319 150 20150319 200 然后进一步处理得到 20150321 (60,505,100) 20150320 (200,150,160) 20150319 (150,200) 这个处理就是一个类似map的操作。把数据做了映射。 reduce的部分,来看看进一步的处理,对于每天的数据,查看最大的值。 20150321 (100) 20150320 (200) 20150319 (200) 这就是一个基本的MapReduce的过程,因为是一个编程模型,可以通过多种语言来实现。这也是Hadoop精明的地方之一,就跟Java中的Servlet一样,定义一个借口,借口的实现根据不同的web容器来具体实现。 Hadoop其实还有很有的组件, 比如Pig是一种数据流艳艳和运行环境,通常用来检索非常大的数据集 Hive是一个分布式,按列存储的数据仓库,管理HDFS中的数据。 HBase是一个分布式,按列存储的数据库 ZooKeeper是一个分布式,高可用性的协调服务。 Sqoop是HDF和数据库之间传输数据的工具 Avro是一种支持高校,跨语言的RPC和永久存储数据的序列化系统 如果这么扩展,一下子感觉Hadoop抽象起来,高不可攀,不过核心的部分还是HDFS和MapReduce.深入理解这两个部分也是作为学习Hadoop的基础。 原以为大数据总是和数据库 有着千丝万缕的联系,但是大数据的书中似乎都在尽力去撇清和传统关系型数据库的关系。 翻看了一些书,加上一些自己的理解,拿oracle来比较,我认为主要有以下几个方面。 首先是处理的数据量上Hadoop面向的是P级,而传统数据库是G,T级,一般大型库在T级也高不过几百T。 其次Hadoop的分布式存储一个很明显的差别,分布式的思想会尽可能希望数据能够分布得更散。而oracle的设计思想就是share everything,尽可能的把数据都汇总起来共享,Oracle中的RAC+ASM尤其说明了它的这种特点。无论你通过多少个实例来达到高可用性,但是数据源都是同一处共享存储,加上自动化存储管理,不过oracle中ASM所做的工作和HDFS有些类似。 在数据的处理上,关系型数据库处理xml数据或者clob,blob数据总是一件比较纠结的事情,性能是一大硬伤。比如海量的图片,在oracle中就只能是blob的存储了,而这些数据在Hadoop中只在数据处理的时候才进行解释,在这方面可能显得更加轻量级。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2015-03-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

【学习】Hadoop大数据学习线路图

入门知识 对于我们新手入门学习hadoop的朋友来说,首先了解一下云计算和云计算技术是有必要的。下面先是介绍云计算和云计算技术的: 云计算,是...

39760
来自专栏开源优测

大数据测试学习笔记之hadoop家族

前言 在进行大数据测试之前,我们必须了解下大数据处理的的相关技术体系,今天主要学习和了解了hadoop家族,这里记录下来分享给大家。 hadoop家族产品 ha...

31660
来自专栏PPV课数据科学社区

【学习】大数据和Hadoop生态圈,Hadoop发行版和企业级应用

本文转自张子良的博客Hadoop develop,张子良,金融大数据专家,提供大数据方案咨询,技术咨询和企业内训。 第一章 大数据和Hadoop生态圈 本章主要...

40050
来自专栏Albert陈凯

《Hadoop大数据技术体系:原理、内幕与项目实践》课程体系

《Hadoop大数据技术体系:原理、内幕与项目实践》课程体系 课程特色: 本课程以 “互联网日志分析系统”这一大数据应用案例为主线,依次介绍相关的大数据技...

43650
来自专栏云计算D1net

为什么不改进MapReduce,而要取代它?

MapReduce的高延迟已经成为Hadoop发展的瓶颈,为当前的MapReduce寻找性能更高的替代品已成为Hadoop社区的一个共识。 MapReduce ...

44060
来自专栏钱塘大数据

【推荐阅读】系统性解读大数据处理框架

微信后台回复:“框架”,获取高清图片 前言 说起大数据处理,一切都起源于Google公司的经典论文:《MapReduce:Simplied Data Proce...

37080
来自专栏CSDN技术头条

大数据分析工具大汇总

大数据分析Storm:Apache Storm是一种开源的分布式实时计算系统。Storm加速了流数据处理的过程,为Hadoop批处理提供实时数据处理。 Spar...

30870
来自专栏木可大大

大数据是什么?

大数据是指海量数据或巨量数据,其规模巨大到无法通过目前主流的计算机系统在合理时间内获取、存储、管理、处理并提炼以帮助使用者决策。

18130
来自专栏JAVA高级架构

从0到1,成为大数据行业领袖

目前最火的大数据,很多人想往大数据方向发展,想问该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高。如果自己很迷茫,为了这些原因想往大数据方向...

28770
来自专栏about云

Hadoop是从Lucene中独立出来的子项目--Hadoop产生背景

问题导读 我们在学习一项新知识,可能不太关注它的产生背景,但是任何故事如果脱离了它的时代,就不会在有意义。如果想了解Hadoop,我们需要知道 1.它是如何产生...

32080

扫码关注云+社区

领取腾讯云代金券