Spark Core(四)基本工作原理、RDD以及其特性、WoldCount程序剖析

  1. Spark基本的工作原理里
    1. 分布式的:Spark加载的数据都是以分区的形式存储在各个节点上的,各个节点的分区组合在一起就是一个RDD,所以它是分布式的。
    2. 基于内存的:Spark在进行数据的转换或者计算的时候都是在内存中完成的,如果内存资源不够的话 ,那么它就会在磁盘中进行计算。
    3. 迭代计算
      这里写图片描述
  2. RDD
    1. RDDSpark提供的一种核心抽象,全称Resilient Distributed Datasets,既谭弹性分布式数据集,它是可以在内存和磁盘之间自动切换
    2. RDD可以抽象的理解为是一个数据集合,包含数据。它是被分区的,被分为多个区,每个区都散落在不同的节点上,从而RDD可以并行操作与计算。(分布式数据集
    3. RDD通常情况下有HDFS或者hive创建,也可以通过程序中的集合创建。
    4. RDD最重要的特点就是容错性,如果集群中RDD的一个分区故障了,那么RDD会自动从节点失败中恢复过来,
    5. RDD默认存储在节点的内存中,如果内存中的容量不够,那么它会其余的数据存储在节点的磁盘上(弹性式
    6. RDD是不可变的
  3. WoldCount程序剖析

    1. WoldCount代码

      package com.lyz.spark
      
      import org.apache.spark.{SparkConf, SparkContext}
      
      object WoldCount {
        def main(args: Array[String]): Unit = {
          val conf = new SparkConf().setAppName("WordCount").setMaster("local")
          val sc = new SparkContext(conf)
          val lines = sc.textFile("D:/resources/README.md")
          val words = lines.flatMap(_.split(" ")).filter(word => word != " ")
          val pairs = words.map(word => (word, 1))
          val wordscount = pairs.reduceByKey(_ + _)
          wordscount.foreach(println)
          sc.stop();
        }
      }
      
    2. WoldCount剖析
      WoldCount剖析
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值