大数据主要解决,海量数据的采集、存储和分析计算问题。
按顺序给出数据存储单位:bit、Byte、 KB、MB、GB、TB、PB、EB、ZB、YB、 BB、NB、DB。 1Byte = 8bit 1K = 1024Byte 1MB = 1024K 1G = 1024M 1T = 1024G 1P = 1024T
大量、高速、 低价值密度
推荐用户喜欢的东西(抖音 、广告、房产 、金融、保险)
主要解决,海量数据的存储和海量数据的分析计算问题
(大数据解决的是采集、存储、分析计算 hadoop就占2个)
Hadoop 三大发行版本:Apache、Cloudera、Hortonworks。
Apache 版本最原始(最基础)的版本,对于入门学习最好。2006
官网地址:http://hadoop.apache.org 下
载地址:https://hadoop.apache.org/releases.html
Cloudera 内部集成了很多大数据框架,对应产品 CDH。2008
官网地址:https://www.cloudera.com/downloads/cdh
Hortonworks 文档较好,对应产品 HDP。2011 Hortonworks 现在已经被 Cloudera 公司收购,推出新的品牌 CDP。 HDP 除常见的项目外还包括了 Ambari,一款开源的安装和管理系统
官网地址:https://hortonworks.com/products/data-center/hdp/
Hadoop1.x、2.x、3.x区别
Hadoop Distributed File System,简称 HDFS,是一个分布式文件系统。
Yet Another Resource Negotiator 简称 YARN ,另一种资源协调者,是 Hadoop 的资源管理器
MapReduce 将计算过程分为两个阶段:Map 和 Reduce
1)Map 阶段并行处理输入数据 2)Reduce 阶段对 Map 结果进行汇总
HDFS、YARN、MapReduce 三者关系
数据来原层
数据库(结构化数据):mysql存储关系型数据
文件日志:存储半结构化属性
视频、ppt非关系型数据
Sqoop 是一款开源的工具,主要用于在 Hadoop、Hive 与传统的数据库(MySQL) 间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进 到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进到关系型数据库中。
Flume:Flume 是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统, Flume 支持在日志系统中定制各类数据发送方,用于收集数据;
Kafka:Kafka 是一种高吞吐量的分布式发布订阅消息系统;也可用于收集半结构化数据
Hbase:非结构化数据存储的数据库。
hdfs:文件存储
yarn资源管理 数据能不能存储下等
MapReduce :完全基于硬盘的 离线计算(是需要写代码的)
hive:为了解决MR麻烦的写代码查询 使用hive类sql方式更块
Spark core:一部分基于内存的 计算效率更高些,但也是需要写代码的 于是就有了类sql的spark sql 和 spark milb
上面都是离线的
spark streaming实时计算
flink 实时计算(最新)
storm实时计算(老项目使用)
Oozie:Oozie 是一个管理 Hadoop 作业(job)的工作流程调度管理系统。
Azkaban:也是任务调度框架
多个任务按顺序执行就要这个任务调度处理
ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、 名字服务、分布式同步、组服务等。