我应该使用哪个版本的 hadoop-aws

Which version of hadoop-aws should I use

我 运行 在 EMR 5.14 (hadoop 2.8.3) 上的 Yarn 上激发作业。

我可以使用更高版本的 hadoop-aws(例如 2.9 或 3.1)来受益于 s3a 协议的最新优化吗?

无论 EMR 给你什么,你都需要坚持使用。他们的 s3:// 连接器是 AWS 开发的,可能是您最安全的选择。

FWIW,自 2.8.3 以来的 s3a 用于输入性能。与后来的版本相比没有太大变化,除了在 3.1 中,如果您将 fs.s3a.experimental.fadvise 保留为 normal,它会在第一次向后搜索时自动从顺序 IO 优化切换到随机 IO(列数据)。如果您知道所有数据都以可搜索的压缩格式(即不是 gzip)存储为 Parquet/ORC,那么最好从一开始就将 属性 设置为 random。写入也没有加速。您将获得相当于 Hadoop 2.9+ 中 "consistent EMR" 的一致性层,以及 Hadoop 3.1 中的高性能输出提交器。但是您不能通过放入后面的 JAR 来尝试使用这些功能。它只会给你堆栈跟踪