搭配 Amazon Athena 使用機器學習 (ML) - Amazon Athena

搭配 Amazon Athena 使用機器學習 (ML)

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

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

如需使用機器學習 (ML) 搭配 Athena 和 SageMaker AI 推論來偵測結果集中異常值的範例,請參閱 AWS 巨量資料部落格中的透過調用 Amazon Athena 機器學習推論函式來偵測異常值一文。

考量與限制

  • 可用的區域 – 在支援 Athena 引擎版本 2 或更新版本的 AWS 區域 提供 Athena 機器學習 (ML) 功能。

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

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

  • SageMaker AI 端點擴展 – 確保參考的 SageMaker AI 模型端點已充分向上擴展到可讓 Athena 呼叫端點。如需詳細資訊,請參閱《Amazon SageMaker AI 開發人員指南》中的自動擴展 SageMaker AI 模型和《Amazon SageMaker AI API 參考》中的 CreateEndpointConfig

  • IAM 許可 – 若要執行指定帶有 Athena 函式的機器學習 (ML) 的查詢,則執行該查詢的 IAM 主體必須能夠針對參考的 SageMaker AI 模型端點執行 sagemaker:InvokeEndpoint 動作。如需更多詳細資訊,請參閱 允許使用 Athena 存取機器學習

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