启用 Hive EMRFS S3 优化提交程序 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

启用 Hive EMRFS S3 优化提交程序

Hive EMRFS S3 优化提交器是 EMR Hive 在利用 EMRFS 时为插入查询写入文件所用的另一种方式。提交程序消除了在 Amazon S3 上执行的列表和重命名操作,并提高了应用程序性能。该功能可在 EMR 5.34 和 EMR 6.5 及更高版本中使用。

启用提交程序

如果您想启用 EMR Hive 以使用 HiveEMRFSOptimizedCommitter 提交数据作为所有 Hive 托管式表和外部表的默认值,请在 EMR 6.5.0 或 EMR 5.34.0 集群中使用以下 hive-site 配置。

[ { "classification": "hive-site", "properties": { "hive.blobstore.use.output-committer": "true" } } ]
注意

请勿在 hive.exec.parallel 设置为 true 时启动此功能。

限制

下面是适用于标签的基本限制:

  • 不支持启用 Hive 自动合并小文件。即使启用了优化提交程序,也会使用默认的 Hive 提交逻辑。

  • 不支持 Hive ACID 表。即使启用了优化提交程序,也会使用默认的 Hive 提交逻辑。

  • 写入的文件的文件命名术语从 Hive 的 <task_id>_<attempt_id>_<copy_n> 更改为 <task_id>_<attempt_id>_<copy_n>_<query_id>。例如,文件命名为

    s3://warehouse/table/partition=1/000000_0 将更改为 s3://warehouse/table/partition=1/000000_0-hadoop_20210714130459_ba7c23ec-5695-4947-9d98-8a40ef759222-1。此 query_id 是用户名、时间戳和 UUID 的组合。

  • 当自定义分区位于不同的文件系统(HDFS、S3)时,此功能将自动禁用。即使启用,也会使用默认的 Hive 提交逻辑。