大数据之spark——1入门(概念、环境搭建与部署)

1 Spark概述

1.1 Spark是什么

Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。(没有存储功能)

1.2 Spark and Hadoop

Spark是用Scala语言开发的快速、通用、可扩展的大数据分析引擎。
Spark Core中提供 了Spark最基础和最核心的功能。
Spark SQL是Spark用来操作结构化数据的组件,通过Spark SQL,用户可以使用SQL或者Apache Hive的SQL方言(HQL)来查询数据。
Spark Streaming 是Spark平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的API。

一次性数据计算:框架在处理数据的时候,会从存储设备中读取数据,进行逻辑操作,然后将处理的结果重新存储到介质中。

Spark是一个分布式数据快速分析项目,核心技术是弹性分布式数据集(Resilient Distributed Datasets),提供了比MapReduce丰富的模型,可以快速在内存中对数据集进行多次迭代,来支持复杂的数据挖掘算法和图形计算算法。
Spark与Hadoop的根本差异是多个作业之间的数据通信问题:Spark多个作业之间数据通信基于内存,Hadoop是基于磁盘。

SparkTask的启动时间快,Spark采用fork线程的方式,Hadoop采用创建新的进程的方式。

spark只有在shuffle的时候将数据写入磁盘,而Hadoop中多个MR作业之间的数据交互都要依赖于磁盘交互。

Spark的缓存机制比HDFS更高效。

在绝大多数数据计算场景中,spark确实会比MapReduce更有优势,但是Spark是基于内存的,所以在实际的生产环境中,由于内存的限制,可能会由于内存资源足够导致Job执行失败,此时MapReduce其实是一个更好的选择。

1.3 Spark 核心

在这里插入图片描述
spark core是整个框架的核心,其他功能模块是基于spark core来完善的。
spark sql是spark操作结构化数据的模块。
spark streaming是操作流数据的模块。
spark mllib是操作机器学习的。
spark GraphX 是对图形挖掘计算的模块。

2 Spark快速上手

2.1 创建Maven项目

3 Spark运行环境

Spark作为一个数据处理框架和计算引擎,在国内工作中主流的运行环境为Yarn,容器式环境也在慢慢流行。

3.1 Local模式

不需要其他任何节点资源,在本地执行Spark代码的环境,一般用于教学、调试

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南山二毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值