以慕课网日志分析为例 进入大数据 Spark SQL 的世界 ---课程笔记--未完待续
第一章 初探大数据
1、什么是大数据?
大数据特征:4V
数据量(Volume) PB、EB、ZB
给予高度分析的新价值(Value) 巨额数据里面提取需要的高价值数据
速度(Velocity) 实时流处理,电商推荐系统,在你浏览或买过商品,按照先关信息给你推荐
多样性,复杂性(Variety) 关系型数据库、非关系型数据库、json文件,XML文件
2、什么是hadoop?
一个分布式系统基础架构,充分利用集群的高速运算和存储。
Hadoop Distributed File System(HDFS) 分布式存储
YARN 资源调度平台
MapReduce 分布式计算
3、企业选择Hadoop作为大数据平台的原因?
1)源码开放
2)社区活跃、参与者众多
3)设计到分布式存储和计算:
Flume进行数据采集
Spark/MR/Hive数据处理
HDFS/HBase数据存储
4)已经得到企业的验证
4、HDFS设计目标
非常巨大的分布式文件系统
运行在普通的廉价的硬件上
易扩展、为用户提供性能不错的文件存储服务
5、HDFS架构
1、Master(NameNode/NN) 对应 N个Slaves(DataNode/NN)
2、一个文件会被拆分成多个块(Block)
默认:128M
例: 130M ==> 128M + 2M
3、NameNode、DataNode负责内容:
NN:
1)负责客户端请求的响应
2)负责元数据(文件名称、副本系数、Block存放的DN)的管理
DN:
1)存储用的文件对应的数据块(Block)
2)定期向NN发送心跳信息(默认3秒),汇报本身及其所有的Block信息,健康状况
4、 重要提示:
1)A typical deployment has a dedicated machine that runs only the NameNode software.
Each of the other machines in the cluster runs one instance of the DataNode software.
The architecture does not preclude running multiple DataNodes on the same machine
but in a real deployment that is rarely the case.
一个典型的部署有一个专用的机器,它只运行NAMENODE软件。
群集中的每个其他机器运行DATEAON软件的一个实例。
架构不排除在同一台机器上运行多个数据流。
但在实际部署中,情况很少。 //不建议这种操作
NameNode + N个DataNode
建议:NameNode、DataNode分布在单独的节点中
2)replication factor 副本系数、副本因子
3)All blocks in a file except the last block are the same size
除了最后一个块之外,文件中的所有块都是相同大小的
5、HDFS优缺点
优点:
高容错
适合批处理
适合大数据处理
可构建在廉价机器上
缺点:
低延迟访数据访问
不适合小文件存储
6、MapReduce
1、特点
1)易于编程
2)良好的扩展性
3)高容错性
4)海量数据的离线处理
2、不擅长场景
1)实时计算
2)流式计算
3)DAG(有向无环图)计算