本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
排解資料表錯誤
請使用本節中的資訊來疑難排解 Athena 是否發生 Spark 資料表錯誤。
建立資料表時無法建立路徑錯誤
錯誤訊息IllegalArgumentException:: 無法從空字串建立路徑。
原因:當您在 Athena 使用 Apache Spark 創建表時,可能會發生此錯誤 AWS Glue 數據庫,並且數據庫具有空LOCATION
屬性。
建議的解決方案:如需詳細資訊和解決方案,則請參閱 建立資料表時的非法引數例外狀況
AccessDeniedException 查詢時 AWS Glue 表
錯誤信息:錯誤信息。 AnalysisException: 無法驗證預設資料庫是否存在:是否存在。 AccessDeniedException:用戶:ARN:AW:目標::
aws-account-id
:假設角色/-AWSAthenaSparkExecutionRoleunique-identifier
/AthenaExecutor-unique-identifier
沒有授權執行:膠水:GetDatabase 對資源:arn:aws:膠水:aws-region
:aws-account-id
:catalog,因為沒有基於身份的策略允許膠水:GetDatabase 動作 (服務: AWSGlue; 狀態碼:400; 錯誤代碼:; 請求識別碼: AccessDeniedException request-id
; 代理:空)
原因:啟用 Spark 的工作組的執行角色缺少訪問權限 AWS Glue 的費用。
建議的解決方案:若要解決此問題,請將您的執行角色存取權授予 AWS Glue 資源,然後編輯 Amazon S3 儲存貯體政策以授與執行角色的存取權。
下列程序更詳細地說明了這些步驟。
若要授與您的執行角色存取權 AWS Glue resources
在 https://console.aws.amazon.com/athena/
中開啟 Athena 主控台。 如果未顯示主控台的導覽窗格,請選擇左側的展開選單。
-
在 Athena 主控台導覽窗格中,選擇 Workgroups (工作群組)。
-
在 Workgroups (工作群組) 頁面上,請選擇您要檢視的工作群組連結。
-
在工作群組的 [概觀詳細資料] 頁面上,選擇 [角色] ARN 連結。連結會在IAM主控台中開啟 Spark 執行角色。
-
在 Permissions policies (許可政策) 區段中,選擇連結角色政策名稱。
-
選擇 [編輯原則],然後選擇JSON。
-
加 AWS Glue 存取角色。通常,您可以為
glue:GetDatabase
和glue:GetTable
動作新增許可。如需有關設定IAM角色的詳細資訊,請參閱IAM使用指南中的新增和移除IAM身分識別權限。 -
選擇 Review policy (檢閱政策),然後選擇 Save changes (儲存變更)。
-
編輯 Amazon S3 儲存貯體政策,以授予執行角色存取權。請注意,您必須授予角色儲存貯體和儲存貯體中的物件存取權。如需相關步驟,請參閱《Amazon Simple Storage Service 使用者指南》中的使用 Amazon S3 主控台新增儲存貯體政策。