scala - 是否可以在 HDFS 上持久化 RDD?

标签 scala hadoop apache-spark hdfs

我知道 RDD 可以持久化/缓存在内存、磁盘或两者上,但是否也可以将其持久化到 HDFS 上。我面临的问题是我的集群上的内存和磁盘空间太少,而我的 HDFS 空间很大。

最佳答案

RDD 持久化只能在工作机器(内存和磁盘)内进行。一些持久性级别在集群中的其他工作机器中复制 RDD。

从今天开始,为了在 HDFS 中持久化 RDD/DataFrame,我们只能使用写入 API。

写入HDFS:

// Writing DataFrame
df.write.save("hdfs://namenode_host:port/file/path"); 

//Writing RDD
rdd.saveAsTextFile("hdfs://namenode_host:port/file/path", "codec_if_any");

RDD Persistence

关于scala - 是否可以在 HDFS 上持久化 RDD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40255317/

相关文章:

scala - 如何将这三个类轮写成一个类轮?

json - 在 PIG Latin 中将字符串转换为长整型

apache-spark - 为什么kryo注册在SparkSession中不起作用?

scala - 我们可以在spark.map函数中使用外部map对象吗

java - Hadoop 上的错误 : Could not find or load main class org. apache.hadoop.hdfs.tools.GetConf

apache-spark - Spark Streaming - 4 核和 16 核的处理时间相同。为什么?

Bash - 如何检查文件是否已上传到 hdfs?

Scala语法如何创建嵌套案例类的实例

scala - Predef.locally 有何作用,与 Predef.identity 有何不同

hadoop - Windows 上的 Spark - winutils 到底是什么,我们为什么需要它?