简介:大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据技术则主要用来解决海量数据的存储和分析。

一、大数据简介

1、基础概念

大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据技术则主要用来解决海量数据的存储和分析。

2、特点分析

大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。

3、发展过程

Google在2004年前后发表的三篇论文,分别是文件系统GFS、计算框架MapReduce、NoSQL数据库系统BigTable。海量数据文件,分析计算,并存储,确立了大数据的基本原理和思路。

天才程序员DougCutting,也是Lucene、Nutch项目发起人。根据Google论文原理初步实现类似GFS和MapReduce的功能,后来发展成为大名鼎鼎的Hadoop。

再后来,Hadoop经过高速的发展,已经形成一个生态体系,基于Hadoop之上,有实时计算,离线计算,NoSQL存储,数据分析,机器学习等一系列内容。

从这一系列事情发展看技术规律:Google业务实践中创造性的提出论文作为基础,业务的成长和需求,迫使技术不断更新换代。所以业务是技术不断发展的关键。

二、Hadoop框架

1、Hadoop简介

注意这里基于Hadoop2.X版本描述。后续如果没有特别说明,都是2.7版本。

Hadoop是一个由Apache基金会所开发的分布式系统基础架构;

提供海量的数据存储能力,和分析计算能力;

作为Apache的顶级项目,包含众多子项目是一个生态圈;

2、框架特点

可靠性:Hadoop按位存储和存储多个数据副本,提供可靠服务;

扩展性:Hadoop利用计算机集群分配数据并完成计算任务,可以方便地扩展到数以千计的节点中;

高效性:基于MapReduce思想,为海量的数据提供高效的并行计算;

容错性:自动保存数据的多个副本,并且能够自动将失败的任务重新分配;

3、组成结构

HDFS存储

  • NameNode

存储文件相关的元数据,例如:文件名,文件目录,创建时间,权限副本数等。

  • DataNode

文件系统存储文件块数据,以及和数据块ID的映射关系。

Yarn调度

负责资源管理和作业调度,将系统资源分配给在Hadoop集群中运行的各种应用程序,并调度要在不同集群节点上执行的任务。

MapReduce计算

MapReduce将计算过程分为两个阶段:Map阶段并行处理输入数据,Reduce阶段对Map结果进行汇总。

三、大数据技术栈

1、Kafka中间件

开源组织: Apache软件

应用场景:

Kafka是一种高吞吐量的分布式发布订阅消息系统,通过磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。支持通过Kafka服务器和消费机集群来分区消息。支持Hadoop并行数据加载。

2、Flume日志系统

开源组织: Cloudera公司

应用场景:

Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

3、Sqoop同步工具

开源组织: Apache软件

应用场景:

Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库例如:MySql间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

4、HBase数据库

开源组织: Apache软件

应用场景:

HBase是一个分布式的、面向列的开源数据库,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,并且基于列的而不是基于行的存储模式。

5、Storm实时计算

开源组织: Apache软件

应用场景:

Storm用于实时计算,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。Storm相对简单,可以与任何编程语言一起使用。

6、Spark计算引擎

开源组织: Apache软件

应用场景:

Spark是专为大规模数据处理而设计的快速通用的计算引擎,拥有Hadoop的MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。Spark是在Scala 语言中实现的,它将Scala用作其应用程序框架。

7、R语言

开源组织: 微软公司

应用场景:

R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

8、Hive数仓工具

开源组织: 脸书公司

应用场景:

hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。

9、Oozie组件

开源组织: Apache软件

应用场景:

Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。

10、Azkaban组件

开源组织: Linkedin公司

应用场景:

批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪的工作流。

11、Mahout组件

开源组织: Apache软件

应用场景:

Mahout提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。

12、ZooKeeper组件

开源组织: Apache软件

应用场景:

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

四、技术栈分类

存储体系:Hadoop-HDFS、HBase、MongoDB、Cassandra

计算体系:Hadoop-MapReduce、Spark、Storm、Flink

数据同步:Sqoop、DataX

资源调度:YARN、Oozie、Zookeeper

日志收集:Flume、Logstash、Kibana

分析引擎:Hive、Impala、Presto、Phoenix、SparkSQL

集群监控:Ambari、Ganglia、Zabbix

五、源代码地址

GitHub·地址
https://github.com/cicadasmile/big-data-parent
GitEE·地址
https://gitee.com/cicadasmile/big-data-parent

原文链接:https://developer.aliyun.com/article/772337?

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

大数据简介,技术体系分类整理相关推荐

  1. 张新波 | 十面埋伏 - 论大数据风控技术体系的构建

    2017.3.11,中生代技术嘉年华在上海盛大召开,6大主题.20话题,600多位小伙伴点燃现场,我们将会陆续将各话题整理发布,让大家共享这场技术盛筵. - 中生代技术嘉年华 - 张新波,同盾联合创始 ...

  2. 大数据OLAP技术体系学习框架

    文章目录 大数据OLAP技术体系学习框架 前言 一.Apache Druid分布式数据存储 二.ClickHouse列式数据库 三.Presto分布式查询引擎 四.Kudu分布式存储库 五.Kylin ...

  3. 企业大数据平台技术体系架构

    2015年国务院向社会公布的<促进大数据发展行动纲要>明确提出了大数据的基本概念:大数据是以容量大.类型多.存取速度快.应用价值高位为主要特征的数据集合,正快速发展为对数量巨大.来源分散. ...

  4. 大数据分析师 - 技术体系 - 了解篇

    来自知乎:https://www.zhihu.com/question/49291394    大数据技术体系太庞杂了,基础技术覆盖 数据采集. 数据预处理. 分布式存储. NOSQL数据库. 多模式 ...

  5. SuperMap大数据GIS技术白皮书 v2.1

    近几年,大数据(big data)一词越来越多地被提及,人们用它来描述和定义信息爆炸时代产生的海量数据,并命名与之相关的技术发展与创新.新版本自8月初计划编写,成稿后经数次删改及审定,最终形成包含7大 ...

  6. 《企业大数据系统构建实战:技术、架构、实施与应用》——2.2 大数据职位构建体系...

    本节书摘来自华章计算机<企业大数据系统构建实战:技术.架构.实施与应用>一书中的第2章,第2.2节,作者 吕兆星 郑传峰 宋天龙 杨晓鹏,更多章节内容可以访问云栖社区"华章计算机 ...

  7. 大数据应用技术课程教学改革与实践

    点击上方蓝字关注我们 大数据应用技术课程教学改革与实践 夏大文1,2, 王林1,2, 张乾1,2, 魏嘉银1,2, 冯夫健1,2, 李华青3,4 1 贵州民族大学数据科学与信息工程学院,贵州 贵阳 5 ...

  8. 02云计算与大数据学习之大数据关键技术与应用

    文章目录 1.应知应会 2.大数据总体框架 架构设计原则 总体架构特点 3.大数据存储技术 4.大数据处理技术 大数据处理模式 大数据处理Storm平台 5.大数据分析技术 大数据分析特点 大数据分析 ...

  9. 大数据:技术与应用实践指南(中国工程院院士倪光南倾情作序,雷万云、毛新生、段永朝、安晖联合力荐)...

    大数据:技术与应用实践指南(中国工程院院士倪光南倾情作序,雷万云.毛新生.段永朝.安晖联合力荐) 赵刚著 ISBN 978-7-121-21560-5 2013年10月出版 定价:59.00元 292 ...

最新文章

  1. 2020-11-11 C++函数后面加“:”的含义
  2. 11大改革举措!国家自然科学基金2021年项目指南发布
  3. R语言:再谈REmap包
  4. Android系统Surface机制的SurfaceFlinger服务渲染应用程序UI的过程分析
  5. 【BZOJ 3098】 Hash Killer II
  6. C++真的能够王者归来吗?
  7. 前端学习(1496):watch使用场景
  8. 第九次作业——测试报告和用户手册
  9. Django 数据库常见 Field Types
  10. Canvas 超详细
  11. Linux Centos快速屏蔽IP访问(iptables)
  12. 松下PLC 三个单位的延时定时器指令的使用
  13. 孙玄:一文完全理解定时器实现技术
  14. oracle recover datafile,recover datafile和alter database recover datafile;
  15. SD卡格式化|SD卡数据恢复技巧
  16. Java基础关于接口的案例及多态的引用类型转换练习题
  17. echarts 多条折线时数量由多到少更新数据时残留问题
  18. 最新Google Earth 5.0简体中文版发布
  19. python系列教程91
  20. 【虾皮选品趋势】盘点马来和新加坡市场雨季热销产品

热门文章

  1. docker 导入导出镜像
  2. 弃用官方网站!Python 将所有 Bug 迁移到 GitHub 中
  3. Linux发行版新秀!风格对比苹果
  4. 求你了,别再用 print 调试代码了
  5. 我读研时通过实习和比赛收入五十万
  6. android 子module混淆_Android 矢量图详解
  7. 日常使用计算机工具软件,计算机常用工具软件的使用.doc
  8. vue----第一个工程项目
  9. 20164319 刘蕴哲 Exp9 Web安全基础
  10. Easy UI Tree操作