--- Spark学习(1)- Spark及其生态圈概述

Spark概述及特点

Apache Spark™是一个统一的分析引擎进行大规模数据处理

  1. 快速
    更快地运行工作负载100倍。
    Apache Spark使用最先进的DAG调度器、查询优化器和物理执行引擎,实现了批处理和流数据的高性能。
  2. 易用
    用Java、Scala、Python、R和SQL快速编写应用程序。
    Spark提供了超过80个高级操作符,使得构建并行应用程序变得容易。可以在Scala、Python、R和SQL shell中交互式地使用它。
  3. 通用
    结合SQL、流和复杂分析。
    Spark支持一系列库,包括SQL和DataFrames、用于机器学习的MLlib、GraphX和Spark流。您可以在同一个应用程序中无缝地组合这些库。
  4. 到处运行
    Spark运行在Hadoop、Apache Mesos、Kubernetes、独立或云中。它可以访问不同的数据源。
    您可以使用Spark的独立集群模式在EC2上、Hadoop YARN上、Mesos上或Kubernetes上运行。访问HDFS、Alluxio、Apache Cassandra、Apache HBase、Apache Hive和其他数百个数据源中的数据。

Spark产生背景

MapReduce的局限性:

  1. 代码繁琐;
  2. 只能够支持map和reduce方法;
  3. 执行效率低下;
  4. 不适合迭代多次、交互式、流式的处理;

框架多样化:

  1. 批处理(离线):MapReduce、Hive、Pig
  2. 流式处理(实时): Storm、JStorm
  3. 交互式计算:Impala

Spark发展历史

在这里插入图片描述
Spark官网详细历史:
http://spark.apache.org/news/index.html

Spark对比Hadoop

Hadoop生态系统

在这里插入图片描述

Spark生态系统 BDAS(BDAS:Berkeley Data Analytics Stack)

在这里插入图片描述

Hadoop和Spark生态圈对比:

在这里插入图片描述
表格解读:

用例 其他 Spark生态圈
批处理 Hadoop中的MapRdeuce(Java操作MR,Pig,Hive) Spark RDDs(java/scala/python调用相关api即可)
SQL查询 Hadoop中的Hive Spark SQL
流处理/实时处理 Storm,Kafka Spark Streaming
机器学习 Mahout(已停止更新) Spark ML Lib
实时查询 NoSQL(Hbase,Cassandra等等) 无相关spark组件;但是Spark可以在NoSQL存储中查询数据(api调用即可)

Hadoop对比Spark:

在这里插入图片描述表格解读:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值