适合小白入门Spark的全面教程(一)

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 适合小白入门Spark的全面教程(一)

Apache Spark是一个用于实时处理的开源集群计算框架。 它是Apache软件基金会中最成功的项目。 Spark已成为大数据处理市场的领导者。 今天,Spark被亚马逊,eBay和雅虎等主要厂商采用。 许多组织在具有数千个节点的集群上运行Spark。 这篇文章所讲内容包括Spark Streaming,Spark Interview Questions,Spark MLlib等。


在实时数据分析方面,Spark在所有其他解决方案中脱颖而出。 通过这篇文章将向大家介绍使用Spark进行地震检测。


以下是此Spark教程中涵盖的主题:


  • 实时分析
  • 有了Hadoop,为什么使用spark
  • 什么是spark
  • Apache Spark的功能
  • spark实践及概念、组件介绍
  • 使用基于Hadoop的Spark
  • Spark 组件
  • 使用案例:使用Spark进行地震检测


1.实时分析



在我们开始之前,让我们来看看美国社交媒体比较有名的企业每分钟产生的数据量。


052105ad24696ed2347afdc3232244d8.jpg图:每分钟生成的数据量


我们可以看到,互联网世界需要在几秒钟内处理大量数据。 正如我们所看到的,网络有大量的数据需要在几秒钟内处理。我们将通过处理企业中的大数据的阶段,发现需要一个实时处理框架,那就是Apache Skar的实时处理框架,解决了此问题。


首先,首先,让向大家介绍当今世界使用实时分析的几个大领域。

1980bf50eb9d2c620a2ddc6be24631a0.jpg

我们可以看到,大数据的实时处理已经深入我们生活的方方面面。从银行的欺诈检测到政府的实时监控系统、医疗自动化设备在股市中的实时预测系统,我们周围的一切都围绕着实时处理大数据。


我们来看看实时分析的一些用法:

医疗保健:医疗保健领域使用实时分析来持续检查关键患者的医疗状况。寻找血液和器官移植的医院需要在紧急情况下保持实时联系。及时就医是患者生死攸关的问题。


政府:政府机构主要在国家安全领域进行实时分析。各国需要不断跟踪警察和安全机构对于威胁的更新。


电信:以电话,视频聊天和流媒体实时分析等形式围绕服务的公司,以减少客户流失并保持领先竞争优势。他们还提取移动网络的测量结果。


银行业务:银行业务几乎涉及全球所有资金。确保整个系统的容错事务变得非常重要。通过银行业务的实时分析,可以实现欺诈检测。


股票市场:股票经纪人使用实时分析来预测股票投资组合的变动。公司通过使用实时分析来推销其品牌的市场需求,从而重新思考其业务模式。


spark思想及实现

2.有了Hadoop,为什么使用spark



每个人都问过Spark的第一个问题,“当我们已经拥有Hadoop时,为什么选择Spark?”。


要回答这个问题,我们必须考虑批处理和实时处理的概念。 Hadoop基于批处理的概念。 Hadoop MapReduce是批量处理数据的最佳框架。


这一直持续到2014年,直到Spark超越Hadoop。 在批量处理大型数据集时,USP for Spark比Hadoop MapReduce快100%。


下图详细说明了Spark和Hadoop之间的区别。

1a9d285aa0e8d6117906c8df24bc4cd4.jpg

在这里,我们可以得出Hadoop和Spark之间的一个关键区别。 Hadoop基于大数据的批处理。 这意味着数据会在一段时间内存储,然后使用Hadoop进行处理。 在Spark中,处理可以实时进行。 Spark中的这种实时处理能力帮助我们解决了上一节中的实时分析问题。 除此之外,Spark还能够比Hadoop MapReduce( Hadoop处理框架)快100倍地进行批处理。 因此,Apache Spark是业界大数据处理的首选工具。


3.什么是spark



Apache Spark是一个用于实时处理的开源集群计算框架。 它拥有蓬勃发展的开源社区,是目前最活跃的Apache项目。 Spark提供了完整编程的接口,具有数据并行性和容错性。

ae6e57fa8f62ecf2a13d038db23e5c2f.jpg

图:Spark教程 - Apache Spark中的实时处理

它建立在Hadoop MapReduce之上,它扩展了MapReduce模型以使用更多类型的计算。


4.Apache Spark的功能



spark有以下功能


ba8e5eea576314e74599e10dbf6a8eaa.jpg

图:Spark教程 - Spark功能

详细内容如下:

支持多种语言

Spark提供Java,Scala,Python和R中的高级API .Spark代码可以用任何这些语言编写。 它在Scala和Python中提供了一个shell。 可以通过./bin/spark-shell和Python shell通过./bin/pyspark从已安装的目录访问Scala shell。


9ee2c258d8e16f462ba03ab17470b3ab.jpg相关资料推荐

使用Java编写并运行Spark应用程序

http://www.aboutyun.com/forum.php?mod=viewthread&tid=10791


Spark开发语言Scala语言

http://www.aboutyun.com/forum.php?mod=viewthread&tid=6771


Spark python 开发者 ---Spark流式数据处理

http://www.aboutyun.com/forum.php?mod=viewthread&tid=18866


速度

Spark的运行速度比Hadoop MapReduce快100倍,适用于大规模数据处理。 Spark能够通过分区实现此速度。 它使用分区管理数据,这些分区有助于以最小的网络流量并行化处理分布式数据。


d88c3f8aa767e709c01f5d1ab87d57ec.jpg

多种格式

Spark支持多种数据源,如Parquet,JSON,Hive和Cassandra,CSV和RDBMS表,还包括通常的格式,如文本文件、CSV和RDBMS表。 Data Source API提供了一种可插拔的机制,用于通过Spark SQL获取结构化数据。


dc1ce9474ff95e86a048804ac7a18d69.jpg

延后计算

Apache Spark延迟是绝对必要的。 这是影响其速度的关键因素之一。对于转换(transformations),Spark将它们添加到DAG(有向无环图)的计算中,并且只有当驱动程序请求一些数据时,这个DAG才会实际执行。


90685dea8c3e57101670440892d85c84.jpg

实时计算

Spark的计算是实时的,并且由于其内存计算具有低延迟。 Spark专为大规模可扩展性设计,Spark团队已经记录了运行具有数千个节点的生产集群的用户,并支持多种计算模型。

388f417df8f315415fd2bde71ed76463.jpg


整合Hadoop

Apache Spark提供与Hadoop的平滑兼容性。 这对所有从事Hadoop大数据工程师来说都是一个福音。 Spark是Hadoop的MapReduce的潜在替代品,而Spark能够使用YARN在现有的Hadoop集群上运行资源调度。


f2ed09f4829761e70214999ebdce5cd9.jpg


资料推荐

如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】

http://www.aboutyun.com/forum.php?mod=viewthread&tid=23252


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
6月前
|
SQL 分布式计算 Spark
Spark 教程系列
Spark 教程系列
61 0
|
12月前
|
SQL 分布式计算 调度
Spark入门(一篇就够了)(三)
Spark入门(一篇就够了)(三)
257 0
|
4月前
|
分布式计算 Java Serverless
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
本文以 ECS 连接 EMR Serverless Spark 为例,介绍如何通过 EMR Serverless spark-submit 命令行工具进行 Spark 任务开发。
394 7
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
|
4月前
|
分布式计算 运维 Serverless
EMR Serverless Spark 实践教程 | 通过 EMR Serverless Spark 提交 PySpark 流任务
在大数据快速发展的时代,流式处理技术对于实时数据分析至关重要。EMR Serverless Spark提供了一个强大而可扩展的平台,它不仅简化了实时数据处理流程,还免去了服务器管理的烦恼,提升了效率。本文将指导您使用EMR Serverless Spark提交PySpark流式任务,展示其在流处理方面的易用性和可运维性。
269 7
EMR Serverless Spark 实践教程 | 通过 EMR Serverless Spark 提交 PySpark 流任务
|
3月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
201 0
|
3月前
|
分布式计算 Java Linux
【Deepin 20系统】Linux 系统安装Spark教程及使用
在Deepin 20系统上安装和使用Apache Spark的详细教程,包括安装Java JDK、下载和解压Spark安装包、配置环境变量和Spark配置文件、启动和关闭Spark集群的步骤,以及使用Spark Shell和PySpark进行简单操作的示例。
65 0
|
12月前
|
存储 缓存 分布式计算
Spark入门(一篇就够了)(一)
Spark入门(一篇就够了)(一)
419 0
|
6月前
|
SQL 分布式计算 大数据
Spark开发实用技巧-从入门到爱不释手
Spark开发实用技巧-从入门到爱不释手
53 0
|
6月前
|
SQL 分布式计算 Hadoop
【Spark】Spark基础教程知识点
【Spark】Spark基础教程知识点
|
6月前
|
分布式计算 大数据 数据处理
[AIGC大数据基础] Spark 入门
[AIGC大数据基础] Spark 入门
294 0

相关实验场景

更多