适合小白入门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


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2月前
|
SQL 分布式计算 Spark
Spark 教程系列
Spark 教程系列
41 0
|
8月前
|
SQL 分布式计算 调度
Spark入门(一篇就够了)(三)
Spark入门(一篇就够了)(三)
165 0
|
2月前
|
SQL 分布式计算 大数据
Spark开发实用技巧-从入门到爱不释手
Spark开发实用技巧-从入门到爱不释手
26 0
|
8月前
|
存储 缓存 分布式计算
Spark入门(一篇就够了)(一)
Spark入门(一篇就够了)(一)
253 0
|
2月前
|
SQL 分布式计算 Hadoop
【Spark】Spark基础教程知识点
【Spark】Spark基础教程知识点
|
2月前
|
分布式计算 大数据 数据处理
[AIGC大数据基础] Spark 入门
[AIGC大数据基础] Spark 入门
238 0
|
8月前
|
分布式计算 Hadoop 大数据
178 Spark入门
178 Spark入门
38 0
|
2月前
|
分布式计算 资源调度 监控
Spark学习--1、Spark入门(Spark概述、Spark部署、Local模式、Standalone模式、Yarn模式)(一)
Spark学习--1、Spark入门(Spark概述、Spark部署、Local模式、Standalone模式、Yarn模式)(一)
156 1
|
2月前
|
数据采集 分布式计算 Linux
Spark实时(数据采集)项目小知识点--sed -i命令详解及入门攻略
Spark实时(数据采集)项目小知识点--sed -i命令详解及入门攻略
139 0
|
2月前
|
SQL 分布式计算 Java
Spark 基础教程:wordcount+Spark SQL
Spark 基础教程:wordcount+Spark SQL
42 0