Spark的新HadoopRDD真正做了什么?

时间:2017-01-17 03:32:28

标签: hadoop apache-spark mapreduce

我在内部知道它使用MapReduce从Hadoop获取输入,但谁可以用更多细节解释这个? 感谢。

2 个答案:

答案 0 :(得分:0)

您认为这是正确的。HadoopRDD RDD提供了读取存储在Hadoop中的数据的核心功能(例如,HDFS中的文件,  * HBase中的来源,或S3)。 它使用HadoopPartition。 计算HadoopRDD时,您可以看到日志Input split:

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

在分区执行时设置

属性:

  1. 此任务的尝试mapred.tip.id
  2. 的任务ID
  3. 任务尝试的ID mapred.task.id
  4. mapred.task.is.map true
  5. mapred.task.partition拆分ID
  6. mapred.job.id
  7. HadoopRDD调用此checkpoint()时无法执行任何操作。

    您可以在HadoopRDD.scala中看到评论部分,每个属性都非常明确。

答案 1 :(得分:0)

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

它还提供了各种其他方法来查找有关分区,inputsplits等的配置详细信息。

您可以访问文档以获取更详细的概述 https://spark.apache.org/docs/1.4.0/api/java/org/apache/spark/rdd/NewHadoopRDD.html

希望这会解决您的问题