启用 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 提交逻辑。