1、什么是大数据?
在互联网技术发展到现今阶段,大量日常、工作等事务产生的数据都已经信息化,人类产生的数据量相比以前有了爆炸式的增长,以前的传统的数据处理技术已经无法胜任,需求催生技术,一套用来处理海量数据的软件工具应运而生,这就是大数据!
2、数据的处理技术
处理海量数据的核心技术:
海量数据存储:分布式
海量数据运算:分布式
3、常用的大数据框架
这些核心技术的实现是不需要用户从零开始造轮子的
存储和运算,都已经有大量的成熟的框架来用
存储框架:
HDFS —— 分布式文件存储系统(Hadoop中的存储框架)
HBase—— 分布式数据库系统
Kafka—— 分布式消息缓存系统(实时流式数据处理场景中应用广泛)
运算框架:(要解决的核心问题就是帮用户将处理逻辑在很多机器上并行)
MapReduce —— 离线批处理/Hadoop中的运算框架
Spark —— 离线批处理/实时流式计算
Storm —— 实时流式计算
辅助类的工具(解放大数据工程师的一些繁琐工作):
Hive ——数据仓库工具:可以接收sql,翻译成MapReduce或者Spark程序运行
Flume——数据采集
Sqoop——数据迁移
Elastic Search ——分布式的搜索引擎
.......
换个角度说,大数据是:
- 有海量的数据
- 有对海量数据进行挖掘的需求
- 有对海量数据进行挖掘的软件工具(Hadoop、Spark、Storm、Flink、tez、impala......)
4、大数据在现实生活中的具体应用
数据处理的最典型应用:公司的产品运营情况分析
电商推荐系统:基于海量的浏览行为、购物行为数据,进行大量的算法模型的运算,得出各类推荐结论,以供电商网站页面来为用户进行商品推荐
精准广告推送系统:基于海量的互联网用户的各类数据,统计分析,进行用户画像(得到用户的各种属性标签),然后可以为广告主进行有针对性的精准的广告投放