什么是大数据?
大数据的特点有4个V
- 数据量大
- 多样性、复杂性(来源多,mysql,json,视频,图像)
- 有价值部分占比低(比如一小时视频,其中有一分钟是我们需要的,有价值的)
- 速度(原来,做离线分析,比如每天分析前一天的数据,分析几个小时前的数据;但是现在对于实时性的要求更高,比如搜索过以后,立即就有相关的推荐,spark stream,storm流式处理)
大数据带来的技术变革?
- 计算瓶颈(集群)
- 存储瓶颈(分布式存储,把文件拆成很多块,每个块存储在不同的机器上,每个块有多副本)
- 数据库瓶颈(nosql数据,redis,hbase)
大数据公司现存的模式?
- 手握大数据,但是没有利用好。(移动电信等)
- 没有数据,但是知道如何帮助有数据的人利用好它。(埃森哲等IT服务公司)
- 既有数据, 又有大数据思维。(谷歌,亚马逊,淘宝等)
什么是hadoop?
- 分布式系统的基础架构,用户可以在不知道底层分布式原理的情况下,开发分布式程序,充分利用集群的优势计算和存储。
- 包含三个主要部分
- 分布式存储:HDFS(分布式文件存储系统,提供读应用程序数据的高吞吐量的访问)
- Yarn(集群资源管理和任务调度)
- 分布式计算:MapReduce(基于Yarn的并行计算框架)
- 总结来说,HDFS负责存储,MapReduce负责计算,Yarn负责任务调度和资源管理
狭义的Hadoop和广义的Hadoop?
- 狭义的:指的就是Hadoop的三大组件
- 广义的:是一个基于Hadoop的生态圈,生态圈都是小而精的系统,负责解决专业的问题域
- HBase:大数据领域的数据库,存放在HDFS纸上的。
- Hive:SQL引擎,让我们直接写sql就可以进行大数据的数据处理
- R语言:统计分析。
- Mathout:机器学习(现在已经转向基于Spark的了,不用了)
- Oozie:工作流,作业执行顺序控制
- Zookeeper:
- Flume:日志收集,做数据采集工作
- Sqoop:数据转换的(mysql转hive等,还可以用它导回去)
为什么选择Hadoop作为大数据平台解决方案?
- 开源,免费
- 社区活跃,参与人很多
- Hadoop生态系统完善,有很多解决方案,已得到企业级的验证