我试图理解mapreduce的几个关键概念,当它与AWS EMR有关时的特殊性。让我们说所有这些我使用外部蜂巢Metastore(RDS)
我的问题如下
因为EMR有一个Task节点的概念(它处理数据但不保存我所理解的持久数据)。是将数据从HDFS(从核心节点)复制到任务节点以进行处理并将最终结果发送回核心节点。我想我有点困惑,因为mapredue是关于移动"代码"到数据处理的位置。由于任务节点上没有任何数据,它处理的是什么(除非它按照我前面提到的那样复制数据进行处理?)
当我的所有数据都在S3中时,这是如何工作的,再次由于事实而混淆,"代码移动到数据" ...因为我的数据位于S3,是它将它复制到核心节点进行处理并将其放回S3?
如果让我说我在S3中拥有所有数据,使用s3distcp将数据复制到HDFS进行处理是否更有效,或者我最好将我的hive表指向S3存储桶位置?