Update Spark_RDD.md

This commit is contained in:
heibaiying 2019-06-04 14:12:39 +08:00 committed by GitHub
parent 2100eba255
commit 588625dd71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -100,7 +100,6 @@ fileRDD.take(1)
使用外部存储系统时需要注意以下两点: 使用外部存储系统时需要注意以下两点:
+ 如果在集群环境下从本地文件系统读取数据,则要求该文件必须在集群中所有机器上都存在,且路径相同; + 如果在集群环境下从本地文件系统读取数据,则要求该文件必须在集群中所有机器上都存在,且路径相同;
+ 支持目录路径,支持压缩文件,支持使用通配符。 + 支持目录路径,支持压缩文件,支持使用通配符。
### 2.3 textFile & wholeTextFiles ### 2.3 textFile & wholeTextFiles
@ -144,8 +143,8 @@ Spark支持多种缓存级别
| ---------------------------------------------- | ------------------------------------------------------------ | | ---------------------------------------------- | ------------------------------------------------------------ |
| `MEMORY_ONLY` | 默认的缓存级别,将 RDD以反序列化的Java对象的形式存储在 JVM 中。如果内存空间不够,则部分分区数据将不再缓存。 | | `MEMORY_ONLY` | 默认的缓存级别,将 RDD以反序列化的Java对象的形式存储在 JVM 中。如果内存空间不够,则部分分区数据将不再缓存。 |
| `MEMORY_AND_DISK` | 将 RDD 以反序列化的Java对象的形式存储JVM中。如果内存空间不够将未缓存的分区数据存储到磁盘在需要使用这些分区时从磁盘读取。 | | `MEMORY_AND_DISK` | 将 RDD 以反序列化的Java对象的形式存储JVM中。如果内存空间不够将未缓存的分区数据存储到磁盘在需要使用这些分区时从磁盘读取。 |
| `MEMORY_ONLY_SER`<br/>(仅支持Java和Scala) | 将 RDD 以序列化的Java对象的形式进行存储每个分区为一个 byte 数组。这种方式比反序列化对象节省存储空间但在读取时会增加CPU的计算负担。 | | `MEMORY_ONLY_SER`<br/> | 将 RDD 以序列化的Java对象的形式进行存储每个分区为一个 byte 数组。这种方式比反序列化对象节省存储空间但在读取时会增加CPU的计算负担(仅支持Java和Scala) |
| `MEMORY_AND_DISK_SER`<br/>(仅支持Java和Scala) | 类似于`MEMORY_ONLY_SER`,但是溢出的分区数据会存储到磁盘,而不是在用到它们时重新计算。 | | `MEMORY_AND_DISK_SER`<br/> | 类似于`MEMORY_ONLY_SER`,但是溢出的分区数据会存储到磁盘,而不是在用到它们时重新计算(仅支持Java和Scala)。 |
| `DISK_ONLY` | 只在磁盘上缓存RDD | | `DISK_ONLY` | 只在磁盘上缓存RDD |
| `MEMORY_ONLY_2`, <br/>`MEMORY_AND_DISK_2`, etc | 与上面的对应级别功能相同,但是会为每个分区在集群中的两个节点上建立副本。 | | `MEMORY_ONLY_2`, <br/>`MEMORY_AND_DISK_2`, etc | 与上面的对应级别功能相同,但是会为每个分区在集群中的两个节点上建立副本。 |
| `OFF_HEAP` | 与`MEMORY_ONLY_SER`类似,但将数据存储在堆外内存中。这需要启用堆外内存。 | | `OFF_HEAP` | 与`MEMORY_ONLY_SER`类似,但将数据存储在堆外内存中。这需要启用堆外内存。 |