考量與限制 - Amazon EMR

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

考量與限制

當您將 Lake Formation 與 EMR Serverless 搭配使用時,請考慮下列考量和限制。

注意

當您在 EMR Serverless 上為 Spark 任務啟用 Lake Formation 時,任務會啟動系統驅動程式和使用者驅動程式。如果您在啟動時指定了預先初始化的容量,則從預先初始化的容量佈建的驅動程式,以及系統驅動程式的數目等於您指定的使用者驅動程式數目。如果您選擇隨需容量,除使用者驅動程式外,EMRServerless 還會啟動系統驅動程式。若要估算與 Lake Formation EMR 的 Serverless 任務相關聯的成本,請使用 AWS Pricing Calculator

除了 AWS GovCloud (美國東部) 和 AWS GovCloud (美國西部) 以外,Amazon EMR Serverless with Lake Formation 可在所有支援的 EMR Serverless 區域中使用。

  • Amazon EMR Serverless 僅支援 Apache Hive 和 Apache Iceberg 資料表透過 Lake Formation 進行精細存取控制。Apache Hive 格式包括 Parquet、 ORC和 xSV。

  • 啟用 Lake Formation 的應用程式不支援使用自訂的無EMR伺服器映像

  • 您無法關閉 Lake Formation DynamicResourceAllocation 任務。

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

  • EMR 無伺服器與 Lake Formation 僅支援整個任務中的單一 Spark 工作階段。

  • EMR 無伺服器與 Lake Formation 僅支援透過資源連結共用的跨帳戶資料表查詢。

  • 不支援下列項目:

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

    • Spark 串流

    • 寫入 Lake Formation 授予的許可

    • 巢狀資料欄的存取控制

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

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

    • 自訂資料來源

    • 為 Spark 擴充功能、連接器或中繼存放區提供額外的 jar

    • ANALYZE TABLE 命令

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

  • EMR Serverless 限制對已啟用 Lake Formation 的應用程式上系統驅動程式 Spark 日誌的存取。由於系統驅動程式執行時具有更多存取權,因此系統驅動程式產生的事件和日誌可能包含敏感資訊。為了防止未經授權的使用者或程式碼存取此敏感資料,無EMR伺服器停用對系統驅動程式日誌的存取。如需疑難排解,請聯絡 AWS 支援。

  • 如果您已向 Lake Formation 註冊資料表位置,資料存取路徑會經過 Lake Formation 儲存的憑證,而不論無EMR伺服器任務執行期角色的IAM許可為何。如果您錯誤設定向資料表位置註冊的角色,則使用具有資料表位置 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。