3.1 掌握RDD的创建

在Apache Spark中,RDD(Resilient Distributed Dataset)是一个基本的、不可变的、分布式的和可分区的数据集。它能够自动进行容错处理,并支持在大规模集群上的并行操作。RDD之间存在依赖关系,可以实现管道化,避免了中间数据的存储。

创建RDD的方式有以下几种:

  1. 通过集合创建RDD,例如使用parallelize()方法或makeRDD()方法将List或Array转换为RDD。这种方式创建的RDD是基于内存中的集合,适合小规模数据。

  2. 通过外部存储系统中的数据集创建RDD,如本地文件、HDFS文件、HBase文件等。可以使用textFile()方法读取文本文件生成RDD。

    • 对于本地模式的Spark Shell,可以直接读取本地文件,也可以读取HDFS文件。读取本地文件时,加不加file://前缀都可以;读取HDFS文件时,需要添加hdfs://master:9000前缀。

    • 对于集群模式的Spark Shell,只能读取HDFS文件生成RDD,不能读取本地文件。读取HDFS文件时,必须添加hdfs://master:9000前缀。

下面是一些创建RDD的示例代码:

scala 复制代码
// 通过List创建RDD
val rddFromList = sc.parallelize(List(1, 2, 3, 4, 5, 6, 7, 8))

// 通过Array创建RDD
val rddFromArray = sc.parallelize(Array("北京", "上海", "广州", "深圳", "泸州"))

// 通过本地文件创建RDD
val rddFromLocalFile = sc.textFile("/home/test.txt")

// 通过HDFS文件创建RDD
val rddFromHDFSFile = sc.textFile("hdfs://master:9000/luzhou/test.txt")

需要注意的是,创建的RDD是分布式的集合,可以在集群上进行并行操作。相比于Scala的List和Array,RDD具有更好的容错性和分布式计算能力。

相关推荐
lzhlizihang3 天前
【RDD算子的分类】RDD的转换算子和触发算子(行为算子)、以及各个算子的作用,对比sql中的关键字
spark·转换算子·rdd·rdd算子·触发算子
问道飞鱼1 个月前
弹性分布式数据集RDD详细说明
分布式·spark·rdd
howard20055 个月前
任务3.8.3 利用RDD统计每日新增用户
rdd·每日新增用户数
howard20055 个月前
利用映射算子打印菱形
java·scala·rdd·映射算子
howard20055 个月前
RDD实战:扁平映射算子 - flatMap()
rdd·扁平映射算子
破坏神在行动6 个月前
Hadoop+Spark大数据技术(微课版)曾国荪、曹洁版 第六章 第6次作业 Spark简介与RDD编程
数据仓库·hadoop·spark·rdd·思维导图xmind
封奚泽优6 个月前
RDD编程初级实践
运维·服务器·spark·scala·rdd
阿年、嗯啊9 个月前
横扫Spark之 - RDD(Resilient Distributed Dataset)弹性分布式数据集
大数据·分布式·spark·rdd·rdd的5个主要特性
有语忆语10 个月前
SparkCore基础解析(二)
spark·rdd·sparkcore