zoukankan      html  css  js  c++  java
  • Spark_RDD

    一、概念

    RDD是Resilient Distributed Dataset。
    RDD是Spark的基础数据结构。表现形式为不可变的分区元素的集合,并且可以在集群中并行操作。

    同时, RDD 还提供了一组丰富的操作来操作这些数据. 在这些操作中, 诸如 map, flatMap, filter 等转换操作实现了 Monad 模式, 很好地契合了 Scala 的集合操作. 除此之外, RDD 还提供了诸如 join, groupBy, reduceByKey 等更为方便的操作, 以支持常见的数据运算.

    二、属性

    • 获取分区列表(getPartitions):有一个数据分片列表,能够将数据进行切分,切分后的数据能够进行并行计算,是数据集的原子组成部分。
    • 可以在每一个分区上进行计算(compute):计算每个分区,得到一个可便利的结果,用于说明在父RDD上执行何种计算。
    • 获取每个RDD的依赖(getDependencies):计算每个RDD对父RDD的依赖列表,源RDD没有依赖,通过依赖关系描述血统。
    • RDD的键值分区器( @transient val partitioner: Option[Partitioner] = None):描述分区模式和数据存放的位置,键值对的RDD根据哈希值进行分区。
    • 在那个分区上进行计算最好(getPreferredLocations):每一个分片的优先计算位置

    三、使用

    1、创建入口

    val conf = new SparkConf().setMaster("local[6]")
    val sc = new SparkContext(conf)
    View Code
    2、通过文件方式
    def rddCreateFiles(): Unit ={
        val rdd1 = sc.textFile("hdfs://node01:8020/spark/data/wordcount.txt")
        val rdd2 = sc.textFile("dataset/wordcount.txt")
      }
    View Code
  • 相关阅读:
    good source
    走进科学之揭开神秘的零拷贝[z]
    git push 本地项目推送到远程分支[z]
    Hibernate配置(通过注解配置)
    Hibernate配置(外部配置文件方式)
    Oracle数据库中scott用户不存在的解决方法
    找滑动窗口的中位数
    Spring日期格式初始化
    Oracle对表空间无权限
    Oracle中默认创建的表
  • 原文地址:https://www.cnblogs.com/hhjing/p/14319123.html
Copyright © 2011-2022 走看看