Spark的API newHadoopRDD真正做什么?

Spark的API newHadoopRDD真正做什么?,hadoop,apache-spark,mapreduce,Hadoop,Apache Spark,Mapreduce,我知道它在内部使用MapReduce从Hadoop获取输入,但是谁能用更多的细节来解释呢? 谢谢。您的想法是正确的。Hadoop RDD RDD提供读取Hadoop中存储的数据的核心功能,例如HDFS中的文件, *HBase或S3中的源。 它使用Hadoop分区。 计算HadoopRDD时,您可以看到日志输入拆分: 示例:INFO HadoopRDD:Input split:file:/Users/jacek/dev/oss/spark/README.md:0+1784 在分区执行时设置属性:

我知道它在内部使用MapReduce从Hadoop获取输入,但是谁能用更多的细节来解释呢?
谢谢。

您的想法是正确的。Hadoop RDD RDD提供读取Hadoop中存储的数据的核心功能,例如HDFS中的文件, *HBase或S3中的源。 它使用Hadoop分区。 计算HadoopRDD时,您可以看到日志输入拆分:

示例:INFO HadoopRDD:Input split:file:/Users/jacek/dev/oss/spark/README.md:0+1784

在分区执行时设置属性:

此任务尝试的任务id mapred.tip.id 任务尝试的id映射为mapred.task.id mapred.task.is.map true mapred.task.partition分割id mapred.job.id 当调用checkpoint时,这个HadoopRDD不能做任何事情


您可以在每个属性中看到注释部分,每个属性都有很好的解释性

新的Hadoop RDD提供了使用新的MapReduce API org.apache.Hadoop.MapReduce读取Hadoop中存储的数据的核心功能,例如HDFS中的文件、HBase或S3中的源

它还提供了各种其他方法来查找有关分区、输入拆分等的配置详细信息

您可以访问文档以了解更详细的概述


希望这将解决您的查询

好的,关于此API的一些好信息,谢谢。在阅读您提供的源代码时,我发现了另一个问题:中间结果保存在哪里?中间结果是,当它做一个hadoop分区的过程时,它首先运行一个mapreduce,然后调用一些函数来生成分区,那么mapreduce中间结果的结果存储在哪里呢?在记忆中?在磁盘中?谢谢。中间洗牌输出会写入磁盘,但它经常会命中操作系统缓冲区缓存,因为它没有显式fsync'ed,所以在许多情况下,它会完全保留在内存中。洗牌的行为与基本RDD是在缓存中还是在磁盘中无关。HadoopRDD也使用基本的RDD原理。检查API,您可以在下面找到它的实现位置。