Spark概述

 

Spark是什么

 

  • Apache Spark是一个快速的、多用途的集群计算系统,相对于Hadoop MapReduce将中间结果保存在磁盘中,Spark使用了内存保存中间结果,能在数据尚未写入磁盘时在内存中进行运算。
  • Spark只是一个计算框架,不像Hadoop一样包含了分布式文件系统和完备的调度系统,如果要使用Spark,需要搭载其它的文件系统和成熟的调度系统

 

Spark的特点

 

  • 速度快

  1. Spark在内存运行时速度是Hadoop MapReduce的100倍

  2. 基于磁盘的运行速度大概是Hadoop MapReduce的10倍

  3. Spark实现了一种叫RDDs的DAG执行引擎,其数据缓存在内存中可以进行迭代处理

 

  • 易用

df = spark.read.json("logs.json")
df.where("age > 21") \
  .select("name.first") \
  .show()
  1. Spark 支持Java、Scala、Python、R、SQL等多种语言的API

  2. Spark支持超过80个高级运算符使得用户非常轻易的构建并行计算程序

  3. Spqrk可以使用基于Scala、Python、R、SQL的Shell交互式查询

 

  • 通用

Spqrk提供一个完整的技术栈,包括SQL执行,Dataset命令式API。机器学习库MLlib,图计算框架GraphX,流计算SparkStreaming

 

  • 兼容

  1. Spark可以运行在Hadoop Yarn,Apache Mesos,Kubernets,Spark Standalone等集群中

  2. Spqrk可以访问HBase,HDFS,Hive,Cassandra在内的多种数据库

 

 

Spark的组成

 

Spark最核心的功能是RDDs,RDDs存在于spark-core这个包内,这个包也是Spqrk最核心的包。同时Spark在spark-core的上层提供了很多工具,以便于使用不同类型的计算。

 

  • Spark-Core是整个Spark的基础,提供了分布式任务调度和基本的I/O功能

 

  • Spark的基础的程序抽象是弹性分布式数据集(RDDs),是一个可以并行操作,有容错的数据集合

    • RDDs可以通过引用外部存储系统的数据集创建(如HDFS,HBase),或者通过现有的RDDs转换得到

    • RDDs抽象提供了Java、Scala、Python等语言的API

    • RDDs简化了编程复杂性,操作RDDs类似通过Scala或者Java8的Streaming操作本地数据集合

     

  • Spark SQL

    • Spark SQL在spark-core基础之上带出了一个名为DataSet和DataFrame的数据抽象化的概念

    • Spark SQL提供了在Dataset和DataFrame之上执行SQL的能力

    • Spark SQL提供了DSL,可以通过Scala、Java、Python等语言操作DataSet和DataFrame

    • 它害支持使用JDBC/ODBC服务器操作SQL语言

     

  • Spark Streaming

    • Spark Streaming充分利用spark-core的快速调度能力来运行流分析

    • 它截取小批量的数据并可以对之运行RDD Transformation

    • 它提供了在同一个程序中同时使用流分析和批量分析的能力

  • MLlib

    • MLlib是Spark上分布式机器学习的框架,Spark分布式内存的框架,比Hadoop磁盘式的Apache Mahout快上10倍,扩展性也非常优良

    • MLlib可以使用许多常见的机器学习和统计算法,简化大规模机器学习

    • 汇总统计,相关性,分层抽样,假设检定,随机数据生成

    • 支持向量机,回归,线性回归,逻辑回归,决策树,朴素贝叶斯

    • 协同过滤,ALS

    • K-means

    • SVD奇异值分解,PCA主成分分析

    • TF-IDF,Word2Vec,StandardScalar

    • SGD随机梯度下降,L-BFGS

  • GraphX

    GraphX是分布式图计算框架,提供了一组可以表达图计算的API,GraphX还对这种抽象化提供了优化运行

 

 

 

Spark和Hadoop的异同

 

 

 

 

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
回答: Apache Spark一个用于大规模数据处理的统一分析引擎,被许多大数据公司支持和应用。一些支持Spark的公司包括Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、腾讯、京东、携程、优酷土豆等。Spark可以在数千个计算节点之间高效地伸缩计算,并支持在各种集群管理器上运行,包括Hadoop YARN、Apache Mesos以及Spark自带的独立调度器。Spark已经被应用于百度的大搜索、直达号、百度大数据等业务,阿里利用GraphX构建了大规模的图计算和图挖掘系统,腾讯拥有世界上已知最大的Spark集群,达到8000台的规模。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [大数据技术之Spark入门(一)概述](https://blog.csdn.net/BAO7988/article/details/103510705)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [大数据(十一)--Spark概述](https://blog.csdn.net/skisqibao/article/details/84130389)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码爱撞墙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值