ITPub博客

首页 > 数据库 > 数据库开发技术 > Spark快速入门-2-Spark的编程模型

Spark快速入门-2-Spark的编程模型

原创 数据库开发技术 作者:HelloTech技术派 时间:2018-01-14 14:19:05 0 删除 编辑

准备

相关概念

Spark的编程模型

  • 示例

  1. import org.apache.spark.{SparkConf, SparkContext}

  2. /**

  3.  * @author Yezhiwei

  4.  * @date 17/12/27

  5.  */

  6. object WordCount {

  7.  def main (args: Array[String]){

  8.    val conf = new SparkConf().setAppName("WordCount")

  9.    val sc = new SparkContext(conf)

  10.    val inputRDD = sc.textFile("README.md")

  11.    val pythonLinesRDD = inputRDD.filter(line => line.contains("Python"))

  12.    val wordsRDD = pythonLinesRDD.flatMap(line => line.split(" "))

  13.    val countsRDD = wordsRDD.map(word => (word, 1)).reduceByKey(_ + _)

  14.    countsRDD.saveAsTextFile("outputFile")

  15.    sc.stop()

  16.  }

  17. }

  • 解释

1.创建应用程序 SparkContext

2.创建RDD,有两种方式,方式一:输入算子,即读取外部存储创建RDD,Spark与Hadoop完全兼容,所以对Hadoop所支持的文件类型或者数据库类型,Spark同样支持。方式二:从集合创建RDD

3.Transformation 算子,这种变换并不触发提交作业,完成作业中间过程处理。也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。

4.Action 算子,这类算子会触发 SparkContext 提交 Job 作业。并将数据输出 Spark系统。

5.保存结果

6.关闭应用程序


下一篇总结Spark算子,如需要了解Scala基础,请点左下角【阅读原文】。如需要及时收到最新内容,或者有相关问题探讨,请扫码关注“码上攻城”的微信公众号,在公众号里留言或者回复,谢谢~


原文作者:HelloTech技术派;如有侵权,请联系管理员删除。

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

注册时间:2017-12-05

  • 博文量
    181
  • 访问量
    73726