大数据 Spark 架构

本文探讨了Spark产生的背景,其轻量级快速处理、易用性、复杂查询支持和实时流处理等特点。相较于MapReduce,Spark在内存计算方面表现出色。Spark架构包括Spark Core和多个应用框架,如Spark SQL、Spark Streaming、MLlib和GraphX。同时,文章对比了Hive与Spark在SQL支持上的差异。
摘要由CSDN通过智能技术生成

一.Spark的产生背景起源

1.spark特点

  1.1轻量级快速处理

 Saprk允许传统的hadoop集群中的应用程序在内存中已100倍的速度运行即使在磁盘上也比传统的hadoop快10倍,Spark通过减少对磁盘的io达到性能上的提升,他将中间处理的数据放到内存中,spark使用了rdd(resilient distributed datasets)数据抽象

这允许他在内存中存储数据,所以减少了运行时间

1.2 易于使用

spark支持多种语言。Spark允许java,scala python 及R语言,允许shell进行交互式查询

1.3 支持复杂的查询

除了简单的map和reduce操作之外,Spark还支持filter、foreach、reduceByKey、aggregate以及SQL查询、流式查询等复杂查询。Spark更为强大之处是用户可以在同一个工作流中无缝的搭配这些功能,例如Spark可以通过Spark Streaming(1.2.2小节对Spark Streaming有详细介绍)获取流数据,然后对数据进行实时SQL查询或使用MLlib库进行系统推荐,而且这些复杂业务的集成并不复杂,因为它们都基于RDD这一抽象数据集在不同业务过程中进行转换,转换代价小,体现了统一引擎解决不同类型工作场景的特点。

  1.4 实时的流处理

对比maprduce只能处理离线数据。Spark还能支持实时的流计算,spark  streaming 主要用来对数据进行实时的处理,yarn的nodemanger统一调度管理很厉害,在yarn产生后hadoop也可以整合资源进行实时的处理

2.时事产物

2.1    mapreduce产生时磁盘廉价,因此许多设计收回考虑到内存的使用,而spark产生时内存相对廉价,对计算速度有所要求,因此spark的产生是基于内存计算的框架结构mapreduce需要写复杂的程序进行计算,

 

 

二.Spark架构

1.spark的体系结构

Spark的体系结构不同于Hadoop的mapreduce 和HDFS ,Spark主要包括spark core和在spark core的基础上建立的应用框架sparkSql  spark Streaming  MLlib  GraphX;

Core库主要包括上下文(spark Context)抽象的数据集(RDD),调度器(Scheduler),洗牌(shuffle) 和序列化器(Seralizer)等。Spark系统中的计算,IO,调度和shuffle等系统的基本功能都在其中

在Core库之上就根据业务需求分为用于交互式查询的SQL、实时流处理Streaming、机器学习Mllib和图计算GraphX四大框架hdfs迄今是不可替代的

 

 

 

Spark架构组成图

 

 

 

 

 

一.Hive和spark对sql支持的对比

Hive创建数据库   创建表       true

        验证策略

脚本

    Hive

Spark-sql

创建库 删除库

Create database lvhou_hive

Create database lvhou_spark

Dorp database lvhou_hive

Dorp database lvhou_spark

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值