1

与普通 Hadoop HDFS 相比,是否有人对具有不同 InputFormat 的 NativeS3FileSystem 在 Amazon EMR 案例中的内部工作有见解,即输入拆分计算、实际数据流?将 Amazon EMR 与 S3 结合使用时,需要考虑哪些最佳实践和要点?

谢谢,

4

1 回答 1

1

重要的是,如果您打算使用 S3N 而不是 HDFS,您应该知道这意味着您将失去数据本地化的好处,这可能会对您的工作产生重大影响。

通常,在使用 S3N 时,您的工作流程有 2 种选择:

  • 从 S3 流式传输数据作为 HDFS 的替代品:如果您需要持续访问整个数据集,这很有用,但如前所述,可能存在一些性能限制。
  • 将您的数据从 S3 复制到 HDFS:如果您只需要在某个时间点访问一小部分数据,您应该只复制到 HDFS 以保留数据局部性的好处。

根据我的经验,我还注意到对于大型作业,拆分计算可能会变得非常繁重,我什至看到了 CPU 仅用于计算输入拆分的 100% 的情况。原因是我认为 HadoopFileSystem层试图分别获取每个文件的大小,如果存储在 S3N 中的文件涉及为每个文件发送 API 调用,那么如果你有很多输入文件的大工作,那就是时间可以花。

有关更多信息,我建议您查看以下文章,其中有人在亚马逊论坛上提出了类似的问题。

于 2013-01-30T05:53:33.770 回答