• spark RDD的创建方式


    1. 从集合(内存中创建出来)RDD
      val sparkConf = new sparkConf().setMaster("local[*]").setAppName("spark")
      // * 号代表,当前电脑有几个核心就分几个线程,不写就是用单线程,[]中括号内的数字代表线程数
      val sparkContext = new SparkContext(sparkConf)
      val rdd1 = sparkContext.parallelize(
        List(1,2,3,4)
      )
      val add2 = sparkContext.makeRDD(
        List(1,2,3,4)
      )
      rdd1.collect().foreach(println)
      rdd2.collect().foreach(println)
      sparkContext.stop()
      
      

    // 或者这个
    package lambert.fun.spark

    import org.apache.log4j.{Level, Logger}
    import org.apache.spark.rdd.RDD
    import org.apache.spark.{SparkConf, SparkContext}
    
    /** *
     *
     * @author Lambert
     *         date 2022-08-20
     *         explain 
     */
    object RDD_Memory {
    
      def main(args: Array[String]): Unit = {
    
        Logger.getLogger("org").setLevel(Level.ERROR)
        val sparkConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
        val sc = new SparkContext(sparkConf)
        val seq = Seq[Int](1, 2, 3, 4)
        val rdd: RDD[Int] = sc.parallelize(seq) // 并行
        val rdd: RDD[Int] = sc.makeRDD(seq) // makeRDD 底层就是调用了RDD的parallelize方法
        rdd.collect().foreach(println)
        sc.stop()
    
      }
    
    }
    
    ```
    
    1. 从外部存储(文件)创建RDD
      val sparkConf = new SparkConf().setMaster("local[*]").setAppName("spark")
      val sparkContext = new SparkContext(sparkConf)
      val fileRDD: RDD [ String ] = sparkContext.textFile("input")
      sparkContext.stop()
      
      
    2. 从其他的RDD创建
      主要是通过一个RDD运算后,再产生新的RDD
    3. 直接创建RDD(new)
      使用new的方式直接构造RDD,一般由spark框架自身使用

    理解两个概念:

    • 并行:就是cpu核数的多少,有几核就代表能并行几个任务
    • 并发:就是一瞬间发起的任务数量,需要排队执行
  • 相关阅读:
    [Dynamic Language] Python 命名参数
    [Dynamic Language] Python OrderedDict 保证按插入的顺序迭代输出
    div水平垂直居中
    项目小结(v1.2v1.4)
    如何能尽快看完一个网页的结构
    在项目中使用谁存储过程orTSQL语句
    UDP协议(数据报协议)
    风恋尘香欢迎你!!!
    .NEt牛人帮帮我!!!谢谢啦~~~
    LWUIT 简易漂亮的相册
  • 原文地址:https://www.cnblogs.com/lambertlt/p/16607193.html
Copyright © 2020-2023  润新知