Partilhar via


Aplicar Transformação SQL

Este artigo descreve um componente do designer do Azure Machine Learning.

Usando o componente Aplicar transformação SQL, você pode:

  • Crie tabelas para resultados e salve os conjuntos de dados em um banco de dados portátil.

  • Execute transformações personalizadas em tipos de dados ou crie agregações.

  • Execute instruções de consulta SQL para filtrar ou alterar dados e retornar os resultados da consulta como uma tabela de dados.

Importante

O mecanismo SQL usado neste componente é SQLite. Para obter mais informações sobre a sintaxe SQLite, consulte SQL como entendido pelo SQLite. Este componente irá colidir dados para SQLite, que está no banco de dados de memória, portanto, a execução do componente requer muito mais memória e pode acertar um Out of memory erro. Certifique-se de que o seu computador tem RAM suficiente.

Como configurar Apply SQL Transformation

O componente pode levar até três conjuntos de dados como entradas. Ao fazer referência aos conjuntos de dados conectados a cada porta de entrada, você deve usar os nomes t1, t2e t3. O número da tabela indica o índice da porta de entrada.

A seguir está o código de exemplo para mostrar como unir duas tabelas. t1 e t2 são dois conjuntos de dados conectados às portas de entrada esquerda e intermediária de Apply SQL Transformation:

SELECT t1.*
    , t3.Average_Rating
FROM t1 join
    (SELECT placeID
        , AVG(rating) AS Average_Rating
    FROM t2
    GROUP BY placeID
    ) as t3
on t1.placeID = t3.placeID

O parâmetro restante é uma consulta SQL, que usa a sintaxe SQLite. Ao digitar várias linhas na caixa de texto Script SQL, use um ponto-e-vírgula para encerrar cada instrução. Caso contrário, as quebras de linha são convertidas em espaços.

Este componente suporta todas as instruções padrão da sintaxe SQLite. Para obter uma lista de instruções sem suporte, consulte a seção Notas técnicas.

Notas técnicas

Esta seção contém detalhes de implementação, dicas e respostas para perguntas frequentes.

  • Uma entrada é sempre necessária na porta 1.

  • Para identificadores de coluna que contenham um espaço ou outros caracteres especiais, coloque sempre o identificador de coluna entre colchetes ou aspas duplas ao se referir à coluna nas SELECT cláusulas ou WHERE .

  • Se você tiver usado Editar Metadados para especificar os metadados da coluna (categóricos ou campos) antes de Aplicar Transformação SQL, as saídas de Aplicar Transformação SQL não conterão esses atributos. Você precisa usar Editar metadados para editar a coluna após Aplicar transformação SQL.

Declarações sem suporte

Embora o SQLite suporte grande parte do padrão ANSI SQL, ele não inclui muitos recursos suportados por sistemas de banco de dados relacionais comerciais. Para obter mais informações, consulte SQL como entendido pelo SQLite. Além disso, esteja ciente das seguintes restrições ao criar instruções SQL:

  • O SQLite usa a digitação dinâmica para valores, em vez de atribuir um tipo a uma coluna, como na maioria dos sistemas de banco de dados relacional. É fracamente tipado e permite a conversão de tipo implícita.

  • LEFT OUTER JOIN é implementado, mas não RIGHT OUTER JOIN ou FULL OUTER JOIN.

  • Você pode usar RENAME TABLE instruções e ADD COLUMN com o ALTER TABLE comando, mas outras cláusulas não são suportadas, incluindo DROP COLUMN, ALTER COLUMNe ADD CONSTRAINT.

  • Você pode criar um VIEW dentro do SQLite, mas depois disso os modos de exibição são somente leitura. Não é possível executar uma DELETEinstrução , INSERTou UPDATE em um modo de exibição. No entanto, você pode criar um gatilho que é acionado em uma tentativa DELETEde , INSERTou UPDATE em uma exibição e executar outras operações no corpo do gatilho.

Além da lista de funções não suportadas fornecidas no site oficial do SQLite, o seguinte wiki fornece uma lista de outros recursos não suportados: SQLite - SQL sem suporte

Próximos passos

Consulte o conjunto de componentes disponíveis para o Azure Machine Learning.