大数据
大数据的特征
- 大量(Volumbe):存储单位从过去的GB到TB,甚至到PB、EB
- 多样(Variety):数据类型复杂多样——结构型、非结构型、源数据、处理数据等
- 高速(Velocity):大数据采集、处理速度较快,能满足实时数据处理分析需求
- 价值(Value):将原始数据经过采集、清洗、深度挖掘、数据分析后具有较高的商业价值
大数据应用
- 数据开发:数据采集—>进行数据离线或者实时的开发
- 数据仓库:基建、需求和项目的数据服务支撑、数据治理
- 数据产品经理:数据能力+产品业务
- 数据挖掘:运用机器学习算法到推荐或者广告等等
- 数据运维:平台的维护或者集群搭建
- 数据安全:和个人隐私相关的数据
Hadoop
Hadoop组件
分布式存储系统(HDFS)
- 分布式计算中数据存储管理的基础
- 具有高容错性的数据备份机制
- 具备流式的数据访问特点,提供高吞吐量应用程序数据访问功能
MapReduce分布式计算框架
- 计算模型,用于大规模数据集的并行计算
- “Map”对数据集上的独立元素进行指定操作,生成键值对形式的中间结果;“Reduce”对中间结果相同“键”的所有“值”进行规约,得到最终结果。
- 思想:“分而治之”
YARN资源管理系统
- YARN为 HDFS 2.0 中的资源管理器
- 其引入为集群在利用率、资源统一管理和数据共享带来极大好处
Sqoop数据迁移工具
- 开源的数据导入导出工具
- 用于在Hadoop与传统的数据库之间进行数据的转换,可将关系数据库(MySQL、Oracle等)中的数据导入到Hadoop的HDFS中
HBase 分布式数据库
- Google Bigtable 克隆版,针对结构化数据的可伸缩、高可靠、高性能、分布式、面向列的动态模式数据库
- BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中键由行关键字、列关键字和时间戳构成
- 对大规模数据的随机、实时读写访问
- 其保存的数据可用MapReduce处理,将数据存储和并行计算结合在一起
Zookeeper 分布式协调服务
- Google的Chubby的一个开源实现,为Hadoop和HBase的重要组件
- 功能:配置维护、域名服务、分布式同步、组服务等用于构建分布式应用、减少分布式应用程序所承担的协调任务
Hive 基于Hadoop的数据仓库
- 将结构化的数据文件映射为一张数据库表,将SQL语句转化为MapReduce任务进行运行
- 操作简单,降低学习成本,使用SQL语句快速实现简单的MapReduce统计
Flume 日志收集工具
- Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输系统
- 在日志系统中定制各类数据发送方,用于收集数据
- 同时具备对数据进行简单处理,并写到数据接收方(可定制)的能力
Hadoop业务
搜索引擎
推荐系统
页面UI
1. 通过一定方式展示推荐物品(标题、缩略图、简介等)
2. 给的推荐理由
3. 数据反馈,改进个性化推荐
用户数据存放位置
1. 数据库/缓存用来实时取数据
2. hdfs文件
Hadoop 集群操作
- 查看各节点的服务进程启动情况:
jps