Spark应用是用来做什么的?

Spark应用是用来做什么的?,第1张

Spark因其自身优势,发展势头迅猛,目前几乎所有一站式大数据平台都已集成了Spark,很多行业也都正在用Spark来改善他们的业务,以下是Spark在一些行业的具体用途:

保险行业:通过使用Spark的机器学习功能来处理和分析所有索赔,优化索赔报销流程。

医疗保健:使用Spark Core,Streaming和SQL构建病人护理系统。

零售业:使用Spark分析销售点数据和优惠券使用情况。

互联网:使用Spark的ML功能来识别虚假的配置文件,并增强他们向客户展示的产品匹配。

银行业:使用机器学习模型来预测某些金融产品的零售的资料。

政府:分析地理,时间和财政支出。

科学研究:通过时间,深度,地理分析地震事件来预测未来的事件。

投资银行:分析日内股价以预测未来的价格走势。

地理空间分析:按时间和地理分析Uber旅行,以预测未来的需求和定价。

航空公司:建立预测航空旅行延误的模型。

设备:预测建筑物超过临界温度的可能性

Spark是处理海量数据的快速通用引擎。作为大数据处理技术,Spark经常会被人们拿来与Hadoop比较。

Hadoop已经成了大数据技术的事实标准,Hadoop MapReduce也非常适合于对大规模数据集合进行批处理操作,但是其本身还存在一些缺陷。具体表现在:

1、Hadoop MapRedue的表达能力有限。所有计算都需要转换成Map和 Reduce两个操作,不能适用于所有场景,对于复杂的数据处理过程难以描述。

2、磁盘I/O开销大。Hadoop MapReduce要求每个步骤间的数据序列化到磁盘,所以I/O成本很高,导致交互分析和迭代算法开销很大,而几乎所有的最优化和机器学习都是迭代的。所以,Hadoop MapReduce不适合于交互分析和机器学习。

3、计算延迟高。如果想要完成比较复杂的工作,就必须将一系列的MapReduce作业串联起来然后顺序执行这些作业。每一个作业都是高时延的,而且只有在前一个作业完成之后下一个作业才能开始启动。因此,Hadoop MapReduce不能胜任比较复杂的、多阶段的计算服务。

Spark借鉴Hadoop MapReduce技术发展而来,继承了其分布式并行计算的优点的同时,改进了MapReduce的许多缺陷。具体优势如下:

1、Spark提供广泛的数据集操作类型(20+种),支持Java,Python和Scala API,支持交互式的Python和Scala的shell。比Hadoop更加通用。

2、Spark提供Cache机制来支持需要反复迭代的计算或者多次数据共享,减少数据读取的I/O开销。Spark使用内存缓存来提升性能,因此进行交互式分析也足够快速,缓存同时提升了迭代算法的性能,这使得Spark非常适合数据理论任务,特别是机器学习。

3、Spark提供了内存计算,把中间结果放到内存中,带来了更高的迭代运算效率。通过支持有向无环图(DAG)的分布式并行计算的编程框架,减少迭代过程中数据需要写入磁盘的需求,提高处理效率。

此外,Spark还能与Hadoop无缝衔接,Spark可以使用YARN作为它的集群管理器,可以读取HDFS、HBase等一切Hadoop的数据。

Spark在最近几年发展迅速,相较于其他大数据平台或框架,Spark的代码库最为活跃。截止目前,最新发布的版本为Spark330。

也有许多数据治理工具,为了实现实时、通用的数据治理而采用Spark技术。以飞算推出的SoData数据机器人为例,是一套实时+批次、批流一体、高效的数据开发治理工具,能够帮助企业快速实现数据应用。

相较于传统数据加工流程,SoData数据机器人实现了流批一体数据同步机制,基于Spark和Flink框架进行深度二次开发,实现数据采集、集成、转换、装载、加工、落盘全流程实时+批次处理的极致体验,秒级延迟,稳定高效平均延迟5-10s,快速响应企业数据应用需求。

除了具备Spark数据处理的优势,SoData数据机器人的Spark体系还支持从各种数据源执行SQL生成Spark字典表,边开发边调试的Spark-SQL开发,支持任意结果集输出到各类数据库。可视化的运维、开发方式也能在极大降低数据开发、治理、应用门槛的同时,提升效率。

在某综合医院的信息化建设中,SoData数据机器人曾在5分钟内完成原本需要8-9小时才能完成的数据迁移工作。

目前,SoData数据机器人已应用于金融、医疗、能源等多个行业,将持续通过创新技术,为各行业组织机构带来更优质、快速的数据开发、治理、应用体验。

DJIGO4App。大疆Spark可使用移动设备与DJIGO4App控制飞行器。大疆djigo4是一款专为大疆无人机开发的控制app,它可以通过无人机进行高清摄影,还可以进行实时图像查看,功能非常强大,有需要的可以到当易网下载体验。

ResourceManager:是集群所有应用程序的资源管理器,能够管理集群的计算资源并为每个Application分配,它是一个纯粹的调度器。 NodeManager:是每一台slave机器的代理,执行应用程序,并监控应用程序的资源使用情况。 Application Master:每一个应用程序都会有一个Application Master,它的主要职责是向RM申请资源、在每个NodeManager上启动executors、监控和跟踪应用程序的进程等。

这里写描述

执行过程:

(1)客户端提交Application到RM,这个过程做的工作有判断集群资源是否满足需求、读取配置文件、设置环境变量、设置Application名字等等;

(2)RM在某一台NodeManager上启动Application Master,AM所在的机器是YARN分配的,事先是不知道的;

(3)AM初始化SparkContext,开始驱动程序,这个NodeManager便是Driver;

(4)AM向ResourceManager申请资源,并在每台NodeManager上启动相应的executors;

(5)初始化后的SparkContext中的通信模块可以通过AKKA与NodeManager上的容器进行通信。

比以前的更多的理解:

(1)Application Master所在的NodeManager是Yarn随机分配的,不是在主节点上,下图是实验室集群上跑得一个Spark程序,tseg0是主节点,tseg1~tseg4是workers,IP1010324029指的是tseg3:

这里写描述

(2)在上图还可以看出,executor的容器和AM容器是可以共存的,它们的封装都是容器;

(3)AM是Yarn启动的第一个容器;

(4)AM所在的NodeManager就是平常说的Driver端,因为这个AM启动了SparkContext,之前实验室说的“谁初始化的SparkContext谁就是Driver端”一直理解错了,以为这句话是相对于机器说的,但其实是相对于Cluster和Client的集群模式来说的(不知道其他模式Mesos、standalone是不是也是这样)。

(5)在Application提交到RM上之后,Client就可以关闭了,集群会继续运行提交的程序,在实际使用时,有时候会看到这样一种现象,关闭Client会导致程序终止,其实这个Application还没有提交上去,关闭Client打断了提交的过程,Application当然不会运行。

这里写描述

(1)Client Application会初始化SparkContext,这是Driver端;

(2)提交Application到RM;

(3)应该是在RM所在的机器上启动AM(

?不确定

);

(4)AM向RM申请资源,并启动NodeManager上的Executors;

(5)Executors与SparkContext初始化后的通信模块保持通信,因为是与Client端通信,所以Client不能关闭。

(1)SparkContext初始化不同,这也导致了Driver所在位置的不同,YarnCluster的Driver是在集群的某一台NM上,但是Yarn-Client就是在RM在机器上; (2)而Driver会和Executors进行通信,这也导致了Yarn_cluster在提交App之后可以关闭Client,而Yarn-Client不可以; (3)最后再来说应用场景,Yarn-Cluster适合生产环境,Yarn-Client适合交互和调试。

之前实验室配过Hadoop多用户

,最近因为培训Spark,又得在这个基础上再能够运行Spark。做的工作很简单,就是把Spark以及Spark依赖的环境scp过去,然后再改一下相应的配置就可以了。猜想的不同用户运行Spark On Yarn Cluster如下图所示,无非就是多增加了一个用户Client,因为ResourceManager是唯一的,所以不同用户CLient提交的Spark Application在集群上运行都是一样的。

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/shuma/952728.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-19
下一篇2023-08-19

随机推荐

  • 经典哲理句子

      经历过看清身边伪朋友,假爱情,什么患难见真情!明白自己该要什么?看懂了那些是真真假假的"朋友"所以让这些虚伪的人该滚就滚,睁大眼睛。以下是我帮大家整理的哲理句子88句,欢迎阅读,希望能够对大家有所帮助。 1、人生是个

    2024-04-15
    60500
  • 国产天气丹几个系列什么功效

    天气丹的五个系列拱辰享系列,津率享系列,美白系列,水妍系列,天气丹系列。功效如下,天气丹拱辰享系列,适合25至30岁的人使用,对皮肤干燥,发黄有着显著的效果,它里面含有的黄精和拱辰丹成分,能快速被皮肤吸收,有效促进细胞再生,保持肌肤的弹性,

    2024-04-15
    56700
  • 欧蕙护肤品的正确使用顺序你学会了吗

          欧蕙护肤品是源于韩国LG集团旗下的高端护肤品牌,适用人群为需要注重抗衰老、补水的中年女性。韩国护肤品的最大特点就是喜欢推出各种套盒,欧蕙也不例外,一起来看看欧蕙套装的正确使用顺序和步骤吧。      欧蕙护肤品的正确使用顺序  

    2024-04-15
    41100
  • 科颜氏男士套盒盒子尺寸

    28寸。颜氏推出了针对男士保湿的品牌产品洗面奶,洗面乳,保湿水等产品组合成了一个礼盒,礼盒大小为28寸。科颜氏是1851年创立于纽约曼哈顿,早期以典型的19世纪药剂师的身份,提供纽约客药水及自然成分提炼的药膏。男生真的不要抵制护肤这件事,白

    2024-04-15
    46500
  • 初中生防晒霜排行榜10强

    初中生防晒霜排行榜10强有:资生堂安耐晒金瓶、碧柔水活防晒保湿裸妆乳、嘉娜宝防晒霜、香蕉船运动型高效防晒霜、水宝宝防晒霜、妮维雅防晒霜、苏菲娜透美颜美白防晒霜、黛珂多重防晒乳、欧莱雅小金管隔离、雅漾自然倍护防晒霜。1、资生堂安耐晒金瓶:使用

    2024-04-15
    44700
  • 保湿精华液和润肤露,应该先擦哪个?

    先用精华液,再用保湿露,一般没有特殊说明的话是这样的。你也可以好好看看说明,比如旁氏的一款精华液就说明了用后可以再抹其他护肤品。|||我认为越贵的越早擦,因为吸收的越好嘛|||我觉得只擦精华液吧|||精华液后再用面霜|||看说明吧,不同产品

    2024-04-15
    47500
  • 妮维雅防晒霜好用吗

    根据小编自己亲测之后的感觉来看还是很不错的,旗下的防晒霜有多种不同类型,有的是以黄盖呈现的喷雾,有的是以挤压头呈现的,也有一些是针对儿童而生的。不管是哪一种,其实都具有着很容易晕开、安全系数比较高的特色,特别是旗下的防晒喷雾非常好用,小小一

    2024-04-15
    48200

发表评论

登录后才能评论
保存