gpt4 book ai didi

scala - 在 Spark 中保存文件

转载 作者:可可西里 更新时间:2023-11-01 15:02:17 44 4
gpt4 key购买 nike

对RDD的保存有两个操作。一个是 saveAsTextFile,另一个是 saveAsObjectFile。我理解 saveAsTextFile,但不理解 saveAsObjectFile。我是 Spark 和 scala 的新手,因此我对 saveAsObjectFile 感到好奇。

1) 它是来自 Hadoop 的序列文件还是其他东西?

2) 我可以使用 Map Reduce 读取那些使用 saveAsObjectFile 生成的文件吗?如果是,如何?

最佳答案

  1. saveAsTextFile() - 将 RDD 保存为压缩文本文件,使用元素的字符串表示。它利用 Hadoop 的 TextOutputFormat。为了提供压缩,我们可以使用接受第二个参数作为 CompressionCodec 的重载方法。引用RDD API
  2. saveAsObjectFile() - 将 RDD 的对象保存为序列化对象的 SequenceFile。

现在,在读取序列文件时,您可以使用 SparkContext.objectFile("Path of File"),它在内部利用 Hadoop 的 SequenceFileInputFormat 来读取文件。

或者,您也可以使用 SparkContext.newAPIHadoopFile(...),它接受 Hadoop 的 InputFormat 和路径作为参数。

关于scala - 在 Spark 中保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34429287/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com