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
  • 相关阅读:
    UVA 3942 Remember the Word (Trie+DP)题解
    POJ 3630 Phone List(字符串前缀重复)题解
    HDU 1247 Hat’s Words(字典树)题解
    hdu 1671 Phone List(字典树)题解
    HDU1251 统计难题 (字典树模板)题解
    BZOJ 1556 墓地秘密
    BZOJ 3624 免费道路
    BZOJ 2286 消耗战
    BZOJ 3694 最短路
    BZOJ 1589 采集糖果
  • 原文地址:https://www.cnblogs.com/hhjing/p/14319123.html
Copyright © 2011-2022 走看看