搭配 Amazon Athena 使用 Machine Learning (ML) - Amazon Athena

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

搭配 Amazon Athena 使用 Machine Learning (ML)

搭配 Amazon Athena 的 Machine Learning (ML) 可讓您使用 Athena 撰寫使用 Amazon SageMaker 執行 Machine Learning (ML) 推論的SQL陳述式。此功能讓您輕鬆存取 ML 模型以分析資料,無需使用複雜的程式設計方法來執行推論。

若要搭配 Athena 使用機器學習 (ML),您可以使用 USING EXTERNAL FUNCTION 子句定義帶有 Athena 函數的機器學習 (ML)。函數指向要使用的 SageMaker 模型端點,並指定要傳遞給模型的變數名稱和資料類型。查詢中的後續子句參考此函數,將值傳遞給模型。模型根據查詢傳遞的值執行推論,然後傳回推論結果。如需 SageMaker 端點運作方式 SageMaker 及其運作方式的詳細資訊,請參閱 Amazon SageMaker 開發人員指南

如需使用 ML 搭配 Athena 和 SageMaker 推論來偵測結果集中的異常值的範例,請參閱 AWS 大數據部落格文章叫用 Amazon Athena 機器學習推論函數來偵測異常值

考量與限制

  • 可用區域 — Athena ML 功能是支援 Athena AWS 區域 引擎第 2 版或更新版本的功能。

  • SageMaker 模型端點必須接受並傳回 text/csv — 如需有關資料格式的詳細資訊,請參閱 Amazon SageMaker 開發人員指南中的推論常見資料格式

  • Athena 不會傳送CSV標頭 — 如果您的 SageMaker 端點是text/csv,則輸入處理常式不應假設輸入的第一行是標CSV頭。由於 Athena 不會傳送CSV標頭,因此傳回至 Athena 的輸出資料列將比 Athena 預期的少一個資料列,並造成錯誤。

  • SageMaker 端點擴展 — 確保參考的 SageMaker 模型端點已充分擴展,以供 Athena 呼叫端點。如需詳細資訊,請參閱 Amazon SageMaker 開發人員指南和 Amazon SageMaker API參考CreateEndpointConfig中的自動擴展 SageMaker 模型。

  • IAMpermissions — 若要執行指定具有 Athena 函數之 ML 的查詢,必須允許執行查詢的IAM主體對參照 SageMaker 模型端點執行sagemaker:InvokeEndpoint動作。如需詳細資訊,請參閱允許透過 Athena 存取 ML

  • 不能直接在 GROUP BY 子句中使用帶有 Athena 函數的機器學習 (ML)