MapReduce
Mapreduce慢的原因:
数据处理的时候,频繁的在磁盘和内存上进行数据IO而不是始终在内存中处理,这些I/O操作导致了速度比较满。
MapReduce的架构演变
1、1.x的时候
JobTracker master 计算集群管理
TaskTracker Slave 负责具体任务执行的
Task Scheduler 作业调度
2、2.x的时候 Yarn出现 作业的调度交给Yarn处理
MapReduce只是进行具体任务执行
Hive操作Mapreduce
Zookeeper:用户无感知,主节点挂掉选择从节点作为主节点
Flume:日志收集框架
Sqoop:数据交换框架,例如:关系型数据库与HDFS之间的数据交换。
Hbase:海量数据中的查询,相当于分布式文件系统中的数据库。
Spark:分布式的计算框架 pyspark
spark core :mapreduce
spark sql:hive
spark streaming :准时的,不算是一个标准的流式计算
spark ML spark MLlib 机器学习库
Scala:虚拟机语言
Kafka:消息队列
Storm:分布式的流式计算框架
Flink:分布式的流式计算框架
Hadoop生态系统的特点
1、开源、社区活跃
2、囊括了大数据的方方面面,有计算的、有存储的、有负责计算的。
3、生态比较成熟。
HDFS如何实现高可用(HA):
1、某些节点死掉了,依旧能实现功能。
**
大数据产品和互联网产品的结合
**
数据采集:
1、APP/Web产生的数据&日志同步到大数据系统;
2、数据库同步:Sqoop 日志同步:Flume打点:Kafka
3、不同数据源产生的数据质量可能差别很大
数据库也许可以直接用
日志爬虫大量的清洗,转化处理ETL
数据处理:
1、大数据存储与计算的核心
2、数据同步后导入HDFS
3、MapReduce Hive Spark 读取数据进行计算,结果在保存到HDFS
4、MapReduce Hive Spark 离线计算,HDFS离线存储
离线计算通常针对全体数据,比如历史上所有订单
离线计算特点:数据规模大,运行时间长
5、流式计算
淘宝双11每秒产生订单数,监控宣传
Storm(毫秒),SparkStreaming(秒)
数据输出与展示:
1、HDFS需要把数据导出交给应用程序,让用户实时展示ECharts
淘宝卖家量子魔方
2、给运营和决策层提供各种统计报告,数据需要写入数据库。
很多运营管理人员,上班后就会登录后台数据系统。
3、任务调度系统
将上面三个部分整合起来
**
大数据应用——数据分析
**
1、大数据平台运行的绝大多数大数据计算都是关于数据分析的:
统计指标
关联分析
2、运营数据是公司管理的基础
了解公司目前发展的状况
数据驱动运营:调节指标对公司进行管理
3、运营常用数据指标
新增用户数 UG user growth 用户增长
产品增长性的关键指标
新增访问网站的用户数
用户留存率、活跃用户数、PV Page View、GMV、转化率
Hadoop
1、搭建大型数据仓库
2、PB级数据的存储、处理、分析、统计等业务
1、搜索引擎
2、日志分析
3、数据挖掘
4、商业智能