Aplicar transformação de SQL
Este artigo descreve o componente do Azure Machine Learning Designer.
Usando o componente Aplicar Transformação SQL, você pode:
Criar tabelas para resultados e salvar os conjuntos de dados em um banco de dados portátil.
Realizar transformações personalizadas em tipos de dados ou criar agregações.
Executar 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 é o SQLite. Para obter mais informações sobre a sintaxe do SQLite, veja SQL como compreendido pelo SQLite.
Esse componente enviará os dados para o SQLite, que está no banco de dados de memória, portanto, a execução do componente requer muito mais memória e pode gerar um erro Out of memory
. Verifique se o computador tem RAM suficiente.
Como configurar Aplicar Transformação de SQL
O componente pode ter até três conjuntos de dados como entradas. Quando você referencia os conjuntos de dados conectados a cada porta de entrada, é preciso usar os nomes t1
, t2
e t3
. O número da tabela indica o índice da porta de entrada.
Veja a seguir 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 Aplicar Transformação SQL:
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 do 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 serão convertidas em espaços.
Este componente oferece suporte a todas as instruções padrão da sintaxe do SQLite. Para obter uma lista de instruções sem suporte, veja a seção Observações técnicas.
Observações técnicas
Essa 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 contêm um espaço ou outros caracteres especiais, sempre coloque o identificador de coluna entre colchetes ou aspas duplas ao se referir à coluna nas cláusulas
SELECT
ouWHERE
.Caso tenha usado Editar Metadados para especificar os metadados da coluna (categóricos ou campos) antes de Aplicar Transformação SQL, as saídas do Aplicar Transformação SQL não conterão esses atributos. É necessário usar Editar Metadados para editar a coluna depois de Aplicar Transformação SQL.
Instruções sem suporte
Embora SQLite suporte a maior parte do padrão ANSI SQL, ele não inclui muitos recursos com suporte nos sistemas de banco de dados relacional comercial. Para obter mais informações, veja SQL como compreendido pelo SQLite. Além disso, lembre-se das seguintes restrições ao criar instruções SQL:
O SQLite usa 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. Ele é digitado sem rigidez e permite a conversão implícita de tipos.
LEFT OUTER JOIN
é implementado, mas nãoRIGHT OUTER JOIN
ouFULL OUTER JOIN
.Você pode usar as instruções
RENAME TABLE
eADD COLUMN
com o comandoALTER TABLE
, mas outras cláusulas não são suportadas, incluindoDROP COLUMN
,ALTER COLUMN
eADD CONSTRAINT
.Você pode criar uma VIEW dentro do SQLite, mas depois disso as exibições serão somente leitura. Você não pode executar uma instrução
DELETE
,INSERT
ouUPDATE
em uma exibição. No entanto, você pode criar um disparador que é acionado em uma tentativa deDELETE
,INSERT
ouUPDATE
em uma exibição e executar outras operações no corpo do gatilho.
Além da lista de funções sem suporte fornecida pelo site oficial do SQLite, o wiki a seguir fornece uma lista de outros recursos sem suporte: SQLite – SQL sem suporte
Próximas etapas
Confira o conjunto de componentes disponíveis no Azure Machine Learning.