什么是RDD?

顾名思义,从字面理解RDD就是 Resillient Distributed Dataset,即弹性分布式数据集。

它是Spark提供的核心抽象。

RDD在抽象上来讲是一种抽象的分布式的数据集。它是被分区的,每个分区分布在集群中的不同的节点上。从而可以让数据进行并行的计算

它主要特点就是弹性和容错性。

弹性:RDD的数据默认情况下存放在内存中的,但是在内存资源不足时,Spark会自动将RDD数据写入磁盘

容错性:RDD可以自动从节点失败中恢复过来。即如果某个节点上的RDD partition,因为节点故障,导致数据丢了,那么RDD会自动通过自己的数据来源重新计算该partition。

RDD来源:通常是Hadoop的HDFS,Hive 表等等;也可以通过Linux的本地文件;应用程序中的数组;jdbc(mysql 等);也可以是kafka、flume数据采集工具、中间件等转化而来的RDD。

原文地址:https://www.cnblogs.com/haibin168/p/8067548.html