本章讲一下关于大数据技术hadoop,直接步入正题,在了解hadoop以前,先来讲一下什么是大数据?java
一.大数据node
1.概述:是指没法在必定时间范围内没法用常规软件工具进行捕捉、管理和处理的数据集合,须要使用新处理模式才能具备更强的决策力、洞察发现力和流程优化能力的海量、高增加率和多样化的信息资产。主要解决海量数据的存储和分析计算问题。算法
2.特色(5V):sql
*Volume(大量):数据存储量;数据库
*Velocity(高速):大数据区分于传统数据挖掘的最显著特征;编程
*Variety(多样):数据分为结构化数据和非结构化数据;框架
*value(低价值密度):低价值密度的高低与数据总量成反比;机器学习
*Veracity(真实性)。分布式
3.应用场景:人工智能、保险的海量数据挖掘及风险预测、物流仓储、金融多维度体现用户特征......工具
4.大数据部门组织结构:
二.Hadoop
1.概述:一个用于分布式大数据处理的开源框架,由Apache基金会所开发的分布式系统基础框架,容许使用简单的编程模型在跨计算机集群的分布式环境中存储和处理大数据。同常是指一个更普遍的概念-Hadoop生态圈。
2.Hadoop生态圈:
*Sqoop:一款开源工具,主要用在Hadoop、Hive与传统数据库(Mysql)间进行数据传递,能够将关系型数据库数据导入到Hadoop的HDFS中,也能够从HDFS中导入关系型数据库中;
*Flume:一个高可用、高可靠的分布式海量日志采集、聚合和传输系统,支持在日志系统中定制各种数据发送方,用于收集数据;
*Kafka:一种高吞吐量的分布式发布订阅消息系统;
*HBase:一个创建在HDFS之上,面向列的针对性结构化数据的可伸缩、高可靠、高性能、分布式的动态数据库,保存的数据能够使用Mapreducer来处理,将数据存储和并行计算完美的结合在一块儿;
*Storm:对数据流作连续查询,在计算时就将结果以流动形式输出给用户,用于“连续计算”;
*Spark:一种基于内存的分布式计算框架,与Mapreducer不一样的是Job中间输出结果能够保存在内存中,从而再也不须要读写HDFS,所以Spark能更好地适用于数据挖掘与机器学习等须要迭代的MapReduce的算法,内部提供了大量的库,如 Spark Sql、Spark Streaming等;
*Fiilnk:一种基于内存的分布式计算框架,用于实时计算场景较多;
*Oozie:一个管理hadoop job 的工做流程调动管理系统,用于协调多个MapReducer任务的执行;
*Hive:基于Hadoop的一个数据仓库工具,定义了一种相似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。一般用于离线分析。
*Impala:用于处理存储在Hadoop集群中大量数据的MPP(大规模并行处理)SQL查询引擎,与Hive不一样,不基于MapReducer算法。它实现了一个基于守护进程的分布式结构,负责在同一台机器上运行的查询执行全部方面,执行效率高于Hive。
3.三大发行版本:Apache、Cloudera、Hortonworks
4.优点:
*高可靠性:Hadoop底层维护多个数据副本,即便某个存储出现故障,也不会致使数据的丢失;
*高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点;
*高效性:hadoop是并行工做的,以加快任务处理速度;
*高容错性:可以自动将失败的任务重新分配。
5.组成:
*HDFS:分布式文件系统;
*MapReducer:分布式数据处理模型和执行环境(分布式计算);
*YARN:job调度和资源管理框架;
*Common:支持其余模块的工具模块(辅助工具)。
6.三种模式:
*单机模式:不须要配置,Hadoop被认为单独的java进程,常常用来作调试;
*伪分布式模式:能够看作只有一个节点的集群,在这个集群中,这个节点既是master,也是slave,既是namenode,也是datanode,既是jobtracker,也是tasktracker;
*彻底分布式模式:Hadoop的守护进程运行在由多台主机搭建的集群上,是真正的生产环境。
后面咱们会介绍到HDFS和MapReducer,期待...