前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark初步认识与安装

Spark初步认识与安装

原创
作者头像
软件工程师Michael
发布2022-04-29 20:08:25
5200
发布2022-04-29 20:08:25
举报

Spark官方文档:https://spark.apache.org/docs/2.3.0/rdd-programming-guide.html

本文涉及的版本号:2.3.0

1.什么是Spark

Spark 是使用 scala 实现的基于内存计算的大数据开源集群计算环境.提供了 java,scala, python,R 等语言的调用接口

Spark2.3版本后,python对spark支持越来越好了

spark源码托管在git上:https://github.com/apache/spark

2.Spark特点

Spark之所以这么受关注,主要是因为其有与其他大数据平台不同的特点

(1)轻量级快速处理

大数据处理中速度往往被置于第一位,Spark允许传统Hadoop集群中的应用程序在内存中以100倍的速度运行,即使在磁盘上运行也能快10倍。Spark通过减少磁盘IO来达到性能的提升,它们将中间处理数据全部放到了内存中。Spark使用了RDD(Resilient Distributed Datasets)数据抽象,这允许它可以在内存中存储数据,只在需要时才持久化到磁盘。这种做法大大的减少了数据处理过程中磁盘的读写,大幅度的降低了运行时间。

(2)易于使用

Spark支持多语言。Spark允许Java、Scala、Python及R(Spark 1.4版最新支持),这允许更多的开发者在自己熟悉的语言环境下进行工作,普及了Spark的应用范围,它自带80多个高等级操作符,允许在shell中进行交互式查询,它多种使用模式的特点让应用更灵活

(3)支持复杂查询

除了简单的map及reduce操作之外,Spark还支持filter、foreach、reduceByKey、aggregate以及SQL查询、流式查询等复杂查询。

Spark更为强大之处是用户可以在同一个工作流中无缝的搭配这些功能,例如Spark可以通过Spark Streaming获取流数据,然后对数据进行实时SQL查询或使用MLlib库进行系统推荐,而且这些复杂业务的集成并不复杂,因为它们都基于RDD这一抽象数据集在不同业务过程中进行转换,转换代价小,体现了统一引擎解决不同类型工作场景的特点。

(4)实时的流处理

对比MapReduce只能处理离线数据,Spark还能支持实时流计算。Spark Streaming主要用来对数据进行实时处理,当然在YARN之后Hadoop也可以借助其他的工具进行流式计算

(5)与已存Hadoop数据整合

著名的大数据产品开发公司Cloudera曾经对Spark Streaming有如下评价:

Spark不仅可以独立的运行(使用standalone模式),还可以运行在当下的YARN管理集群中。它还可以读取已有的任何Hadoop数据,这是个非常大的优势,它可以运行在任何Hadoop数据源上,比如HBase、HDFS等。如果合适的话,这个特性让用户可以轻易迁移已有Hadoop应用

(6)活跃和不断壮大的社区

Spark起源于2009年,当下已有超过50个机构730个工程师贡献过代码,与2014年6月相比2015年代码行数扩大了近三倍(数据源于Spark Summit 2015公布的数据),这是个惊人的增长

3.Spark组成部分

Spark组成
Spark组成

Spark可以一站式解决大数据的各种场景的

Batch本质上是Spark-Core

  • Spark SQL: 提供了类 SQL 的查询,返回 Spark-DataFrame 的数据结构(类似 Hive)
  • Spark Streaming: 流式计算,主要用于处理线上实时时序数据(类似 storm)
  • MLlib: 提供机器学习的各种模型和调优
  • GraphX: 提供基于图的算法,如 PageRank

4.Spark的安装

建议采用编译后的安装包进行安装。

(1)安装Pthon3并配置环境变量

python3环境变量的配置
python3环境变量的配置

验证python3的安装结果:

python3的验证
python3的验证

(2)解压Spark安装包,并配置环境变量

配置spark的环境变量
配置spark的环境变量

(3)启动spark

方式1:spark-shell

spark-shell方式启动spark
spark-shell方式启动spark

方式2:pyspark

pyspark方式启动spark
pyspark方式启动spark

【小结】

Spark是近年来大数据领域的热门技术,值得我们花大力气学习、掌握,甚至精通。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
流计算 Oceanus
流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的企业级实时大数据分析平台,具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档