本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭配 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)