Data - Spark简介

Spark是一款基于内存计算的大数据并行计算框架,具有运行速度快、易用性好、通用性强等特点。它支持SQL查询、流式计算等,并可在Hadoop、独立集群及云环境中运行。本文介绍Spark的主要优势及其生态系统。

Spark简介

Spark是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。

主要特点

  • 运行速度快:DAG(Directed Acyclic Graph,有向无环图)执行引擎
  • 容易使用:多语言编程支持;提供简洁的API;Spark shell实时交互式编程反馈
  • 通用性:技术栈完整,包括SQL查询、流式计算、机器学习和图算法组件
  • 运行模式多样:可运行在Hadoop、独立的集群模式、云环境中,并可访问HDFS、Cassandra、HBase、Hive等多种数据源

对比Hadoop

Hadoop的MapReduce计算模型延迟过高,磁盘IO开销大,无法胜任实时快速计算的需求,因而只适用于离线批处理的应用场景。
相比于MapReduce,Spark主要具有如下优点:

  • Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比MapReduce更灵活;
  • Spark提供了内存计算,中间结果直接放到内存中,带来了更高的迭代运算效率,减少了IO开销;
  • Spark基于DAG的任务调度执行机制,要优于MapReduce的迭代执行机制。

但Spark并不能完全替代Hadoop,主要用于替代Hadoop中的MapReduce计算模型。
Hadoop可以使用廉价的、异构的机器来做分布式存储与计算,而Spark对内存与CPU有一定的要求。
Spark可以借助于YARN实现资源调度管理,借助于HDFS实现分布式存储。

Spark生态系统

在实际应用中,大数据处理主要包括以下三个类型:

  • 复杂的批量数据处理:时间跨度通常在数十分钟到数小时之间;--- Hadoop MapReduce
  • 基于历史数据的交互式查询:时间跨度通常在数十秒到数分钟之间;--- Impala、Hive
  • 基于实时数据流的数据处理:时间跨度通常在数百毫秒到数秒之间。--- 流计算框架Storm

Spark满足不同应用场景:

  • Spark可以部署在资源管理器YARN之上,同时支持批处理、交互式查询和流数据处理。
  • Spark生态系统兼容Hadoop生态系统,现有Hadoop应用程序可以容易地迁移到Spark系统中。

Spark生态系统主要组件

  • Spark Core:通常所说的Apache Spark,包含Spark的基本功能;
  • Spark SQL:使用SQL命令进行查询,并进行更复杂的数据分析;
  • Spark Streaming:支持高吞吐量、可容错处理的实时流数据处理;
  • MLlib(机器学习):常用机器学习算法的实现;

  • GraphX(图计算):用于图计算的API;

转载于:https://www.cnblogs.com/anliven/p/6066049.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值