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 结构形式以便后续进一步分析挖掘价值所在.

相关推荐
技术吧1 小时前
Spark-TTS: AI语音合成的“变声大师“
大数据·人工智能·spark
MyikJ3 天前
Java互联网大厂面试:从Spring Boot到Kafka的技术深度探索
java·spring boot·微服务·面试·spark·kafka·spring security
向哆哆3 天前
Java 大数据处理:使用 Hadoop 和 Spark 进行大规模数据处理
java·hadoop·spark
阿里云大数据AI技术3 天前
Fusion引擎赋能:流利说如何用阿里云Serverless Spark实现数仓计算加速
大数据·人工智能·阿里云·spark·serverless·云计算
Matrix703 天前
大数据量下的数据修复与回写Spark on Hive 的大数据量主键冲突排查:COUNT(DISTINCT) 的陷阱
大数据·hive·spark
weixin_307779133 天前
Apache SeaTunnel 引擎深度解析:原理、技术与高效实践
大数据·flink·spark·数据库开发·etl
wuli玉shell4 天前
spark shuffle的分区支持动态调整,而hive不支持
大数据·hive·spark
程序员阿龙4 天前
基于大数据的个性化购房推荐系统设计与实现(源码+定制+开发)面向房产电商的智能购房推荐与数据可视化系统 基于Spark与Hive的房源数据挖掘与推荐系统设计
大数据·数据挖掘·spark·用户画像·hadoop生态·spark mllib·房源数据爬虫
NON-JUDGMENTAL5 天前
PySpark 中使用 SQL 语句和表进行计算
python·spark
itachi-uchiha5 天前
Docker部署Spark大数据组件:配置log4j日志
spark