考量與限制 - Amazon EMR

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

考量與限制

將 Lake Formation 與 Amazon EMR on EKS 搭配使用時,請注意下列考量和限制:

  • Amazon EMR on EKS 僅支援透過 Lake Formation 的精細存取控制,適用於 Apache Hive、Apache Iceberg、Apache Hudi 和 Delta 資料表格式。Apache Hive 格式包括 Parquet、ORC 和 xSV。

  • DynamicResourceAllocation 預設為啟用,您無法關閉 Lake Formation DynamicResourceAllocation 任務。由於 DRA spark.dynamicAllocation.maxExecutors組態的預設值為無限,請根據您的工作負載設定適當的值。

  • 啟用 Lake Formation 的任務不支援在系統驅動程式和系統執行器中使用自訂的 EMR on EKS 映像。

  • 您只能將 Lake Formation 與 Spark 任務搭配使用。

  • 使用 Lake Formation 的 EMR on EKS 僅支援整個任務的單一 Spark 工作階段。

  • 使用 Lake Formation 的 EMR on EKS 僅支援透過資源連結共用的跨帳戶資料表查詢。

  • 不支援下列項目:

    • 彈性分散式資料集 (RDD)

    • Spark 串流

    • 使用 Lake Formation 授予的許可寫入

    • 巢狀資料欄的存取控制

  • EMR on EKS 會封鎖可能會破壞系統驅動程式完整隔離的功能,包括下列項目:

    • UDTs、HiveUDFs和任何涉及自訂類別的使用者定義函數

    • 自訂資料來源

    • 為 Spark 延伸模組、連接器或中繼存放區ANALYZE TABLE命令提供額外的 jar

  • 為了強制執行存取控制,EXPLAIN PLAN以及 DDL 操作,例如 DESCRIBE TABLE 不會公開限制資訊。

  • Amazon EMR on EKS 限制對已啟用 Lake Formation 任務之系統驅動程式 Spark 日誌的存取。由於系統驅動程式執行時具有更多存取權,因此系統驅動程式產生的事件和日誌可能包含敏感資訊。為了防止未經授權的使用者或程式碼存取此敏感資料,EMR on EKS 已停用對系統驅動程式日誌的存取。如需故障診斷,請聯絡 AWS 支援。

  • 如果您已向 Lake Formation 註冊資料表位置,無論 EMR on EKS 任務執行角色的 IAM 許可為何,資料存取路徑都會經過 Lake Formation 儲存的登入資料。如果您錯誤設定已向資料表位置註冊的角色,提交的任務若使用具有資料表位置的 S3 IAM 許可的角色,將會失敗。

  • 寫入 Lake Formation 資料表會使用 IAM 許可,而不是 Lake Formation 授予的許可。如果您的任務執行角色具有必要的 S3 許可,您可以使用它來執行寫入操作。

以下是使用 Apache Iceberg 時的考量和限制:

  • 您只能搭配工作階段目錄使用 Apache Iceberg,不能任意命名目錄。

  • 在 Lake Formation 中註冊的 Iceberg 資料表僅支援中繼資料表 historymetadata_log_entriessnapshotsfilesmanifestsrefs。Amazon EMR 會隱藏可能具有敏感資料的資料欄,例如 partitionspathsummaries。此限制不適用於未在 Lake Formation 中註冊的 Iceberg 資料表。

  • 未在 Lake Formation 中註冊的資料表支援所有 Iceberg 預存程序。任何資料表都不支援 register_tablemigrate 程序。

  • 我們建議您使用 Iceberg DataFrameWriterV2 而非 V1。

如需詳細資訊,請參閱了解 Amazon EMR on EKS 概念和術語,以及啟用 Amazon EMR on EKS 的叢集存取

資料管理員的免責聲明

注意

當您將 Lake Formation 資源的存取權授予 EMR on EKS 的 IAM 角色時,您必須確保 EMR 叢集管理員或運算子是信任的管理員。這與跨多個組織和 AWS 帳戶共用的 Lake Formation 資源特別相關。

EKS 管理員的責任

  • System 命名空間應受到保護。不允許使用者、資源或實體或工具對System命名空間中的 Kubernetes 資源擁有任何 Kubernetes RBAC 許可。

  • 除了 EMR on EKS 服務之外,任何使用者、資源或實體都無權CREATE存取 User 命名空間中的 POD、CONFIG_MAP 和 SECRET。

  • System 驅動程式和System執行程式包含敏感資料。因此,命名System空間中的 Spark 事件、Spark 驅動程式日誌和 Spark 執行器日誌不應轉送至外部日誌儲存系統。