

# Usar Machine Learning (ML) com o Amazon Athena
<a name="querying-mlmodel"></a>

O Machine Learning (ML) com Amazon Athena permite que você use o Athena para escrever instruções SQL que executam inferências de Machine Learning (ML) por meio da IA do Amazon SageMaker AI. Esse recurso simplifica o acesso a modelos de ML para análise de dados, eliminando a necessidade de usar métodos de programação complexos para executar inferências.

Para usar ML com Athena, você define uma função ML com Athena usando a cláusula `USING EXTERNAL FUNCTION`. A função aponta para o endpoint do modelo do SageMaker AI que você deseja usar e especifica os nomes das variáveis e os tipos de dados para transmitir ao modelo. As cláusulas subsequentes na consulta fazem referência à função para passar os valores para o modelo. O modelo executa inferências com base nos valores que a consulta passa e retorna os resultados da inferência. Para obter mais informações sobre o SageMaker AI e como os endpoints de IA dele funcionam, consulte o [Guia do desenvolvedor do Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/).

Para ver um exemplo que usa ML com inferência do Athena e do SageMaker AI para detectar um valor anômalo em um conjunto de resultados, consulte o artigo [Detecting anomalous values by invoking the Amazon Athena machine learning inference function](https://aws.amazon.com/blogs/big-data/detecting-anomalous-values-by-invoking-the-amazon-athena-machine-learning-inference-function/) no Blog de Big Data da AWS.

## Considerações e limitações
<a name="considerations-and-limitations"></a>
+ **Regiões disponíveis**: o recurso de ML do Athena está disponível nas Regiões da AWS compatíveis com o mecanismo do Athena versão 2 ou posterior.
+ **O endpoint do modelo do SageMaker AI deve aceitar e retornar `text/csv`**: para obter mais informações sobre formatos de dados, consulte [Common data formats for inference](https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html) no *Guia do desenvolvedor do Amazon SageMaker AI*.
+ **O Athena não envia cabeçalhos CSV**: se seu endpoint do SageMaker AI for `text/csv`, o manipulador de entrada não deverá presumir que a primeira linha da entrada seja um cabeçalho CSV. Como o Athena não envia cabeçalhos CSV, a saída retornada ao Athena conterá uma linha a menos do que o esperado pelo Athena e causará um erro. 
+ **Escalabilidade do endpoint do SageMaker AI**: garanta que a escala do endpoint do modelo do SageMaker AI mencionado seja aumentada na vertical o suficiente para chamadas do Athena ao endpoint. Para obter mais informações, consulte [Automatically scale SageMaker models](https://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html) no *Guia do desenvolvedor do Amazon SageMaker AI* e [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html) na *Referência de API do Amazon SageMaker AI*.
+ **Permissões do IAM**: para executar uma consulta que especifica uma função ML com Athena, a entidade principal do IAM que executa a consulta deve ter permissão para executar a ação `sagemaker:InvokeEndpoint` no endpoint do modelo do SageMaker AI mencionado. Para ter mais informações, consulte [Permitir acesso a ML com o Athena](machine-learning-iam-access.md).
+ **Não é possível usar as funções ML com Athena diretamente nas cláusulas `GROUP BY`**

**Topics**
+ [Considerações e limitações](#considerations-and-limitations)
+ [Usar ML com sintaxe do Athena](ml-syntax.md)
+ [Consultar exemplos de uso de clientes](ml-videos.md)