RDD有哪几种创建方式
RDD 的创建方式
在 Spark 中,RDD 可以通过多种方式进行创建。以下是主要的两种方法及其详细说明:
1. 从集合中创建 RDD
这是最简单的方式之一,适用于本地数据结构(如数组或列表)转化为分布式数据集的情况。parallelize()
和 makeRDD()
是两个常用的方法来实现这一点。
-
使用
parallelize()
方法可以将一个 Scala 集合对象转换为 RDD2。scala
val conf = new SparkConf().setAppName("Example").setMaster("local") val sc = new SparkContext(conf) // 将本地数组转为 RDD val rdd: RDD[Int] = sc.parallelize(Array(1, 2, 3, 4))
-
同样地,也可以使用
makeRDD()
来完成相同的功能1:scala
val rdd1: RDD[Int] = sc.makeRDD(Array(1, 2, 3, 4, 5, 6))
这两种方法本质上都是把内存中的数据分布到集群的不同节点上去形成一个 RDD 实例2。
2. 从外部存储系统加载数据创建 RDD
除了能够直接由程序内部的数据构建外,RDD 还可以从诸如 HDFS,S3,Cassandra,HBase 等外部存储媒介里获取原始资料进而初始化自己.
- 当需要处理大规模存在于远程文件服务器上的文本文档时,则可通过调用
textFile()
函数指定路径参数达成目标2:scala
val hdfsRdd = sc.textFile("hdfs://localhost:9000/data/words.txt")
此命令会读取位于给定 URI 下的所有文件并将每一行作为单独元素放入最终得到的新建实例之中.
综上所述,无论是针对小型测试用途还是生产环境下涉及庞大数据量的实际运用场景,Spark 均提供了灵活简便的方式来生成所需的 RDD 结构形式以便后续进一步分析挖掘价值所在.