ITPub博客

首页 > 大数据 > Spark > 好程序员大数据培训分享Spark技术总结

好程序员大数据培训分享Spark技术总结

原创 Spark 作者:好程序员 时间:2020-06-18 08:47:16 0 删除 编辑

  好程序员 大数据 培训分享 Spark 技术总结 Spark 是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大的场合,受益就相对较小 ( 大数据库架构中这是是否考虑使用 Spark 的重要因素 )

1 Spark 的核心是什么 ?

  RDD Spark 的基本抽象 , 是对分布式内存的抽象使用,实现了以操作本地集合的方式来操作分布式数据集的抽象实现。 RDD 也是 Spark 非常核心的东西,它表示已被分区,不可变的并能够被并行操作的数据集合,不同的数据集格式对应不同的 RDD 实现。

  RDD 必须是可序列化的。 RDD 可以 cache 到内存中,每次对 RDD 数据集的操作之后的结果,都可以存放到内存中,下一个操作可以直接从内存中输入,省去了 MapReduce 大量的磁盘 IO 操作。这对于迭代运算比较常见的机器学习算法 , 交互式数据挖掘来说,效率提升比较大。

2 Spark 的适用场景有哪些 ?

  由于RDD 的特性, Spark 不适用那种异步细粒度更新状态的应用,例如 web 服务的存储或者是增量的 web 爬虫和索引。就是对于那种增量修改的应用模型不适合。总的来说 Spark 的适用面比较广泛且比较通用。

3 Spark 支持的编程语言有哪几种 ?

  Spark 通过与编程语言集成的方式暴露 RDD 的操作,类似于 DryadLINQ FlumeJava ,每个数据集都表示为 RDD 对象,对数据集的操作就表示成对 RDD 对象的操作。 Spark 主要支持的编程语言是 Scala java python

Scala

  Spark 使用 Scala 开发,默认使用 Scala 作为编程语言。编写 Spark 程序比编写 Hadoop MapReduce 程序要简单的多, SparK 提供了 Spark-Shell ,可以在 Spark-Shell 测试程序。

Java

  Spark 支持 Java 编程,但对于使用 Java 就没有了 Spark-Shell 这样方便的工具,其它与 Scala 编程是一样的,因为都是 JVM 上的语言, Scala Java 可以互操作, Java 编程接口其实就是对 Scala 的封装。

Python

  现在Spark 也提供了 Python 编程接口, Spark 使用 py4j 来实现 python java 的互操作,从而实现使用 python 编写 Spark 程序。 Spark 也同样提供了 pyspark ,一个 Spark python shell ,可以以交互式的方式使用 Python 编写 Spark 程序。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69913864/viewspace-2699092/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-03-20

  • 博文量
    342
  • 访问量
    150096