大数据生态与Spark
1. 大数据技术概述
首先了解一下,大数据是什么呢?
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据的四大V:
数据量大(Volume)、速度快(Velocity)、类型多(Variety)、价值密度低(Value)
大数据不仅仅是数据的“大量化”,而是包含“快速化”、“多样化”和“价值化”等多重属性。
大数据是由结构化和非结构化数据组成的
10%的结构化数据,存储在数据库中
90%的非结构化数据,它们与人类信息密切相关
在思维方式方面,大数据完全颠覆了传统的思维方式:
- 全样而非抽样
- 效率而非精确
- 相关而非因果
2.Spark简介
spark又是什么呢?
很多的时间场景下,Hadoop的计算速度以及模式已经不能完全的满足计算分析的需求,所以,在hadoop的基础上,我们增加了另外一个新的技术===Spark
Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎 。现在形成一个高速发展应用广泛的生态系统。
Spark最初由美国加州大学伯克利分校(UC Berkeley)的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序
概念:Spark是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序 Spark是当前热门的大数据处理技术
特点:
- 运行速度快:使用DAG执行引擎以支持循环数据流与内存计算
- 容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程
- 通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件
- 运行模式多样:可运行于独立的集群模式中,可运行于Hadoop中,也可运行于Amazon
EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源
Spark好用的地方在于
首先,高级 API 剥离了对集群本身的关注,Spark 应用开发者可以专注于应用所要做的计算本身。
其次,Spark 很快,支持交互式计算和复杂算法。
最后,Spark 是一个通用引擎,可用它来完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等,而在 Spark 出现之前,我们一般需要学习各种各样的引擎来分别处理这些需求。