Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
✅ Azure Stream Analytics ✅ Fabric Eventstream
Combina os resultados de duas ou mais consultas em um único conjunto de resultados que inclui todas as linhas que pertencem a todas as consultas na união. A operação UNION é diferente do uso de junções que combinam colunas de duas tabelas.
A seguir estão as regras básicas para combinar os conjuntos de resultados de duas consultas usando UNION:
- Os fluxos devem ter a mesma chave de partição e contagem de partições (saiba mais sobre partições aqui)
- O número e a ordem das colunas devem ser os mesmos em todas as consultas.
- Os tipos de dados devem ser compatíveis.
Importante
Se as entradas tiverem um número diferente de partições, o dimensionamento não será possível, pois o dimensionamento de um trabalho do Stream Analytics aproveita as partições na entrada e na saída.
Sintaxe
{ <query_specification> | ( <query_expression> ) }
UNION
<query_specification | ( <query_expression> )
[ UNION <query_specification> | ( <query_expression> )
[ ...n ] ]
Argumentos
< > query_specification | <( query_expression> )
É uma especificação de consulta ou expressão de consulta que retorna dados a serem combinados com os dados de outra especificação de consulta ou expressão de consulta. As definições das colunas que fazem parte de uma operação UNION devem ser as mesmas ou devem ter o mesmo nome usando um alias e devem ser compatíveis.
UNIÃO
Especifica que vários conjuntos de resultados devem ser combinados e retornados como um único conjunto de resultados. UNION incorpora todas as linhas nos resultados. Isto inclui duplicados.
Exemplo
SELECT TollId, EntryTime AS Time, LicensePlate
FROM Input1 TIMESTAMP BY EntryTime
UNION
SELECT TollId, ExitTime AS Time, LicensePlate
FROM Input2 TIMESTAMP BY ExitTime
Se necessário, os fluxos podem ser reparticionados para corresponder (no mesmo trabalho abaixo, ou outro para obter um melhor desempenho):
WITH Input1_P as (
SELECT * FROM Input1 PARTITION BY partitionId INTO 2
),
Input2_P as (
SELET * FROM Input2 PARTITION BY partitionId INTO 2
)
SELECT TollId, EntryTime AS Time, LicensePlate
FROM Input1_P TIMESTAMP BY EntryTime
UNION
SELECT TollId, ExitTime AS Time, LicensePlate
FROM Input2_P TIMESTAMP BY ExitTime