排解資料表錯誤 - Amazon Athena

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

排解資料表錯誤

請使用本節中的資訊來疑難排解 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
  1. https://console.aws.amazon.com/athena/ 中開啟 Athena 主控台。

  2. 如果未顯示主控台的導覽窗格,請選擇左側的展開選單。

    選擇展開選單。
  3. 在 Athena 主控台導覽窗格中,選擇 Workgroups (工作群組)。

  4. Workgroups (工作群組) 頁面上,請選擇您要檢視的工作群組連結。

  5. 在工作群組的 [概觀詳細資料] 頁面上,選擇 [角色] ARN 連結。連結會在IAM主控台中開啟 Spark 執行角色。

  6. Permissions policies (許可政策) 區段中,選擇連結角色政策名稱。

  7. 選擇 [編輯原則],然後選擇JSON

  8. 加 AWS Glue 存取角色。通常,您可以為 glue:GetDatabaseglue:GetTable 動作新增許可。如需有關設定IAM角色的詳細資訊,請參閱IAM使用指南中的新增和移除IAM身分識別權限

  9. 選擇 Review policy (檢閱政策),然後選擇 Save changes (儲存變更)

  10. 編輯 Amazon S3 儲存貯體政策,以授予執行角色存取權。請注意,您必須授予角色儲存貯體和儲存貯體中的物件存取權。如需相關步驟,請參閱《Amazon Simple Storage Service 使用者指南》中的使用 Amazon S3 主控台新增儲存貯體政策