

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

# 搭配 Amazon Athena 使用機器學習 (ML)
<a name="querying-mlmodel"></a>

搭配 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/](https://docs.aws.amazon.com/sagemaker/latest/dg/)》。

如需使用 ML 搭配 Athena 和 SageMaker AI 推論來偵測結果集中異常值的範例，請參閱 AWS 大數據部落格文章[透過叫用 Amazon Athena 機器學習推論函數來偵測異常值](https://aws.amazon.com/blogs/big-data/detecting-anomalous-values-by-invoking-the-amazon-athena-machine-learning-inference-function/)。

## 考量和限制
<a name="considerations-and-limitations"></a>
+ **可用區域** – Athena ML 功能可在支援 Athena 引擎第 2 版或更新版本 AWS 區域 的 中使用。
+ **SageMaker AI 模型端點必須接受並傳回 `text/csv`** – 如需有關資料格式的詳細資訊，請參閱《Amazon SageMaker AI 開發人員指南**》中的[推論的一般資料格式](https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html)。
+ **Athena 不會傳送 CSV 標頭** – 如果您的 SageMaker AI 端點是 `text/csv`，您的輸入處理常式不應假設輸入的第一行是 CSV 標頭。由於 Athena 不會傳送 CSV 標頭，因此傳回至 Athena 的輸出將包含比 Athena 預期的少一個資料列，並導致錯誤。
+ **SageMaker AI 端點擴展** – 確保參考的 SageMaker AI 模型端點已充分向上擴展到可讓 Athena 呼叫端點。如需詳細資訊，請參閱《Amazon SageMaker AI 開發人員指南**》中的[自動擴展 SageMaker AI 模型](https://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html)和《Amazon SageMaker AI API 參考**》中的 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html)。
+ **IAM 許可** – 若要執行指定帶有 Athena 函式的機器學習 (ML) 的查詢，則執行該查詢的 IAM 主體必須能夠針對參考的 SageMaker AI 模型端點執行 `sagemaker:InvokeEndpoint` 動作。如需詳細資訊，請參閱[允許使用 Athena 存取機器學習](machine-learning-iam-access.md)。
+ **不能直接在 `GROUP BY` 子句中使用帶有 Athena 函數的機器學習 (ML)**

**Topics**
+ [考量和限制](#considerations-and-limitations)
+ [使用帶有 Athena 的機器學習 (ML) 語法](ml-syntax.md)
+ [請參閱客戶使用範例](ml-videos.md)