Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
✅ Поток событий Azure Stream Analytics ✅ Fabric
Объединяет результаты двух или более запросов в один результирующий набор, включающий все строки, принадлежащие всем запросам в союзе. Операция UNION отличается от использования соединений, которые объединяют столбцы из двух таблиц.
Ниже приведены основные правила объединения результирующих наборов двух запросов с помощью UNION:
- Потоки должны иметь один и тот же ключ секции и число секций (дополнительные сведения о разделах здесь)
- Число и порядок столбцов должны совпадать во всех запросах.
- Типы данных должны быть совместимыми.
Это важно
Если входные данные имеют другое количество секций, масштабирование невозможно, так как масштабирование задания Stream Analytics использует преимущества секций во входных и выходных данных.
Синтаксис
{ <query_specification> | ( <query_expression> ) }
UNION
<query_specification | ( <query_expression> )
[ UNION <query_specification> | ( <query_expression> )
[ ...n ] ]
Аргументы
< > query_specification | ( <query_expression> )
Является спецификацией запроса или выражением запроса, возвращающим данные, которые будут объединяться с данными из другой спецификации запроса или выражения запроса. Определения столбцов, которые являются частью операции UNION, должны быть одинаковыми или должны называться одинаковыми с помощью псевдонима и должны быть совместимыми.
СОЮЗ
Указывает, что несколько результирующих наборов должны быть объединенными и возвращены в виде одного результирующий набор. UNION включает все строки в результаты. К ним относятся дубликаты.
Пример
SELECT TollId, EntryTime AS Time, LicensePlate
FROM Input1 TIMESTAMP BY EntryTime
UNION
SELECT TollId, ExitTime AS Time, LicensePlate
FROM Input2 TIMESTAMP BY ExitTime
Если это необходимо, потоки можно пересекать для сопоставления (либо в том же задании, что и ниже, либо другое для повышения производительности):
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