Hadoop概念理解

举报
风中的叶子 发表于 2019/09/25 11:38:58 2019/09/25
【摘要】 大数据:数据从GB (2的30次方byte) 急速增长到ZB (2的70次方byte),需要通过分部署存储和分布式计算解决数据处理问题。​

大数据:数据从GB (2的30次方byte) 急速增长到ZB (2的70次方byte),需要通过分部署存储和分布式计算解决数据处理问题。

理解Hadoop概念

hadoop是基于分布式处理的框架,可以不关心底层物理硬件的性能,管理大量的集群节点(几千个)。

hadoop的核心技术是hdfs和mapreduce。

hdfs是分布式文件系统,真正的解决大量分布式集群节点的文件存储问题(可靠性、高并发、高效访问、HA等)。

mapreduce是分布式计算模型,将大量的计算分解成许多并行的函数计算分布到各节点去处理,快速得到结果。main、map和reduce函数,map分解,reduce归纳。

通过分布式存储和分布式计算可以完成海量数据的分析,这就是大数据分析,如10亿人每天吃早餐的数据中统计排名前10的早餐种类,人员年龄结构等。普通计算几乎无法执行,大数据分析可以得到结果。

理解其它工具概念

hive是hadoop的数据仓库工具,通过hive可以不用写mapreduce函数去进行分布式计算操作,hive提供一种HQL的类SQL语句(内部封装了mapreduce)操作非结构化数据。所以hive是基于mapreduce的。

hbase是基于谷歌的bigtable的一种分布式数据库,是nosql数据库,基于hdfs存储,基于列访问(传统数据库基于行访问),支持随机访问,快速查询。可以用mapreduce操作hbase。

由于hdfs更好的是顺序访问速度,并不支持随机访问,所以hive和mapreduce更适用的场景是海量数据(广义的数据)全(顺序)遍历统计–大数据分析。

而hbase适用于非结构化数据的快速随机访问(查询),相对于mapreduce,hbase支持的数据量级要小。mapreduce和hbase分别解决大数据的两个方面问题,一个解决海量数据顺序遍历(通过分布式计算),一个大量数据的快速定位和更新。两者都基于hdfs的分布式存储。

zookeeper是一个分布式应用程序协调服务。说白了就是进行应用分布式部署时的管理,或者说应用的节点(集群)同步管理。包括配置管理、集群管理、同步管理等。

ambari是是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。

Hcatlog是数据表和存储管理服务,或者说是统一元数据管理工具,即实现非结构化数据和元数据之间的转换,实现关系型数据和hdfs之间的关联,并提供类似关系型数据库的操作工具。

v 分布式存储—HDFS

v 分布式并行计算—MapReduce

v 基于Hadoop的数据仓库—Hive

v 统一元数据管理—Hcatlog

v 集群管理工具—ambari

v 工作流工具—Oozie

v 数据的并行采集—Flume

v MapReduce脚本工具—Pig

v 与关系型数据库之间的数据迁移—Sqoop

v 资源管理平台—Yarn

v 数据生命周期管理—Falcon

v 数据挖掘算法—Mahout

v 分布式统一服务—Zookeeper

v Hadoop安全工具—Knox

v 流式计算框架—Storm

v 内存计算框架—Spark

v 数据挖掘框架—Mahout、Mllib和Graphx


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。