啟用 Hive EMRFS S3 最佳化遞交者 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

啟用 Hive EMRFS S3 最佳化遞交者

Hive EMRFS S3 Optimized Committer 是另一種使用 時,EMRHive 會寫入檔案以插入查詢的方式EMRFS。遞交程式消除了在 Amazon S3 上執行的清單和重新命名操作,並提高了應用程式的效能。此功能從 5.34 EMR 和 6.5 EMR 開始可用。

啟用遞交程式

如果您想要讓 EMR Hive 使用 HiveEMRFSOptimizedCommitter遞交資料作為所有 Hive 受管資料表和外部資料表的預設值,請在 6.5.0 EMR 或 5.34.0 EMR 叢集中使用下列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-1query_id 這是使用者名稱、時間戳記和 的組合UUID。

  • 當自訂分割區位於不同的檔案系統 (HDFS、S3) 時,此功能會自動停用。啟用後將使用預設 Hive 遞交邏輯。