前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅谈Hadoop (r4笔记第81天)

浅谈Hadoop (r4笔记第81天)

作者头像
jeanron100
发布2018-03-15 16:46:16
5340
发布2018-03-15 16:46:16
举报

大数据的概念炒了好多年了,很显然这项技术经受住了时间的考验,不是有些人想的那样华而不实,多年来总是伴随着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中只在数据处理的时候才进行解释,在这方面可能显得更加轻量级。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档