Todos os produtos
Search
Central de documentação

AnalyticDB:Usar SQL para implementar previsão de machine learning

Última atualização: Jun 27, 2026

Este tópico descreve como executar tarefas de machine learning com SQL no AnalyticDB for MySQL. Você implantará um modelo Behavior Sequence Transformer (BST), abrangendo transformação de dados, criação, treinamento, avaliação e previsão do modelo.

Cenários

O AnalyticDB for MySQL permite treinar e executar modelos de machine learning inteiramente por meio de SQL, sem configurar uma infraestrutura separada de ML. O SQL gerencia todo o pipeline: pré-processamento de dados, treinamento e inferência.

O AnalyticDB for MySQL oferece suporte a modelos de classificação BST. Esses modelos são projetados para cenários em que é necessário compreender padrões de comportamento do usuário, como:

  • Análise de preferências de usuários ao longo do tempo.

  • Previsão de ações futuras dos usuários.

  • Fornecimento de recomendações personalizadas.

O BST se destaca na captura de dependências de longo prazo em dados de comportamento sequencial. Isso o torna ideal para setores como jogos e comércio eletrônico, nos quais as sequências de interação do usuário orientam as decisões de negócios.

Como funciona o modelo BST

O modelo BST recebe uma sequência de IDs de eventos de comportamento como entrada e gera um resultado de classificação 0 ou 1.

Considere um exemplo de jogo. Um jogador gera a seguinte sequência de comportamento durante uma sessão:

Fazer login, resgatar recompensa de login, aceitar tarefa, batalha, batalha, batalha, concluir tarefa, recarregar saldo, batalha, fazer logout.

Converta cada ação em um ID de evento numérico para produzir a sequência:

0, 1, 2, 3, 3, 3, 4, 5, 3, 6

Essa sequência é passada para o modelo BST como uma string separada por vírgulas. O modelo analisa o padrão e retorna um resultado de classificação 0 ou 1, indicando a categoria predefinida à qual a sequência de comportamento pertence.

Pré-requisitos

Antes de começar, verifique se seu ambiente atende aos seguintes requisitos:

  • O cluster executa a Enterprise Edition, Basic Edition ou Data Lakehouse Edition.

  • A versão do kernel do cluster é 3.2.4.0 ou posterior.

    Nota

    Para visualizar e atualizar a versão secundária, acesse a seção Configuration Information na página Cluster Information no console do AnalyticDB for MySQL.

  • O recurso de grupo de recursos de IA está ativado. Esse recurso está em visualização pública. Para ativá-lo, entre em contato com o suporte técnico.

Etapa 1: Criar um grupo de recursos de IA e anexá-lo a um grupo de recursos comum

Executar tarefas de machine learning via SQL requer dois tipos de grupos de recursos:

  • Grupo de recursos de IA: Gerencia os recursos de GPU necessários para operações computacionalmente intensivas, como treinamento e previsão de modelos.

  • Grupo de recursos comum: Processa consultas SQL padrão, incluindo aquelas que geram dados de treinamento ou chamam funções de previsão.

Ao enviar uma instrução SQL para o grupo de recursos comum, o sistema detecta se a instrução requer computação de IA. Em caso afirmativo, o sistema encaminha automaticamente a tarefa para o grupo de recursos de IA anexado para execução.

Crie primeiro um grupo de recursos de IA e, em seguida, anexe-o a um grupo de recursos comum.

  1. Faça login no console do AnalyticDB for MySQL. No canto superior esquerdo do console, selecione uma região. No painel de navegação à esquerda, clique em Clusters. Localize o cluster que deseja gerenciar e clique no ID do cluster.

  2. No painel de navegação à esquerda, escolha Cluster Management > Resource Management e clique na aba Resource Groups.

  3. No canto superior direito da lista de grupos de recursos, clique em Create Resource Group para criar um grupo de recursos de IA.

    Parâmetro

    Descrição

    Resource Group Name

    Nome personalizado para o grupo de recursos. O nome deve ter de 2 a 30 caracteres, começar com uma letra e conter apenas letras, dígitos e sublinhados.

    Job Type

    Na lista suspensa, selecione AI.

    Importante

    Se a opção AI não estiver disponível, o recurso de grupo de recursos de IA não está habilitado para sua instância. Entre em contato com o suporte técnico.

    Specifications

    Combinação de recursos de GPU, CPU e memória. Selecione ADB.MLLarge.24 ou ADB.MLLarge.2.

    Minimum Resources

    Quantidade mínima de unidades de recursos.

    Maximum Resources

    Quantidade máxima de unidades de recursos.

  4. Clique em OK para criar o grupo de recursos.

  5. Localize o grupo de recursos comum desejado. Na coluna Actions, clique em Modify. Use as ML Job Resubmission Rules para anexar o grupo de recursos comum ao grupo de recursos de IA recém-criado.

Etapa 2: Transformação de dados

A transformação de dados converte seus dados brutos no formato esperado pelo modelo BST para treinamento. A necessidade desta etapa depende do formato e da localização dos seus dados originais.

Nota

Se seus dados brutos já atenderem aos requisitos de formato descritos abaixo, pule esta etapa e prossiga para a Etapa 3.

Requisitos de esquema da tabela

A tabela de treinamento deve possuir duas colunas:

Coluna

Tipo

Descrição

Coluna de recurso de entrada

String

Inteiros separados por vírgulas representando a sequência de IDs de eventos de comportamento para uma amostra.

Coluna de rótulo alvo

Integer

Valor binário (0 ou 1) representando o rótulo da classe.

Exemplo: ('1,2,3',0), ('3,2,1',1)

Como transformar seus dados

Caso seus dados brutos não correspondam ao formato necessário, transforme-os da seguinte maneira:

  1. Prepare um pacote JAR: Empacote seu programa de transformação de dados Spark em um arquivo JAR e faça upload para um bucket do OSS.

  2. Configure os parâmetros do job Spark: Ao enviar o job Spark, defina os parâmetros obrigatórios. Para mais informações, consulte Parâmetros de configuração do aplicativo Spark.

Etapa 3: Criação e treinamento do modelo

Com os dados de treinamento prontos, crie e treine o modelo BST usando SQL.

  1. No painel de navegação à esquerda, escolha Job Development > SQL Development.

  2. No SQL Console, execute as instruções a seguir para criar e treinar o modelo:

       -- Create a model
       -- Specify the resource group
       /*+resource_group=itrain*/
       CREATE MODEL bstdemo.bst-- Model name
       OPTIONS (
         model_type='bst_classification', -- Model type
         feature_cols=(event_list),  -- Feature column
         target_cols=(target),  -- Target column to predict
         hyperparameters = (  -- Other model hyperparameters
           use_best_ckpt = 'False',
           early_stopping_patience='0'
         )
       )
       AS SELECT event_list, target FROM bstdemo.adb; -- Source of model data. The result of this query is used to train the model with the specified variables.
    
       -- Check the model training status. The training is complete when the status changes to READY.
       SHOW MODEL bstdemo.bst;
  3. Após o envio da instrução CREATE MODEL, o treinamento começa. Execute SHOW MODEL bstdemo.bst; para verificar o progresso. O treinamento estará concluído quando o status mudar para READY.

Etapa 4: Avaliação do modelo

Após a conclusão do treinamento, avalie o desempenho do modelo para validar sua qualidade de classificação.

-- The statement format is similar to the one for creating a model.
/*resource_group=rg1*/
EVALUATE MODEL bstdemo.bst
OPTIONS (
    feature_cols=(event_list),
    target_cols=(target),
)
AS SELECT event_list, target FROM bstdemo.adb01;

Analise as métricas de avaliação retornadas para determinar se o modelo atende aos seus requisitos antes de usá-lo para previsões.

Etapa 5: Previsão do modelo

Depois de confirmar que os resultados da avaliação são satisfatórios, use a função ML_PREDICT para gerar previsões sobre novos dados. O primeiro parâmetro da função é o nome do modelo. Os parâmetros subsequentes são as colunas de entrada do modelo. A função retorna um resultado de classificação 0 ou 1 para cada linha.

-- Use the trained model for prediction.
-- The first parameter of the ml_predict function is the model name. Subsequent parameters are the model's input columns.
SELECT ML_PREDICT('bstdemo.bst', event_list) FROM bstdemo.adb02;