다음을 통해 공유


UNION(Azure 스트림 분석)

둘 이상의 쿼리 결과를 합집합의 모든 쿼리에 속하는 모든 행이 포함된 단일 결과 집합으로 결합합니다. UNION 연산은 두 테이블의 열을 결합하는 조인을 사용하는 것과는 다릅니다.

다음은 UNION을 사용하여 두 쿼리의 결과 집합을 결합하기 위한 기본 규칙입니다.

  • 스트림에는 동일한 파티션 키와 파티션 수가 있어야 합니다( 여기에서 파티션에 대해 자세히 알아보기).
  • 열의 개수와 순서가 모든 쿼리에서 동일해야 합니다.
  • 데이터 형식이 호환되어야 합니다.

중요

입력에 파티션 수가 다른 경우 Stream Analytics 작업의 크기 조정이 입력 및 출력의 파티션을 활용하므로 크기 조정 이 불가능합니다.

Syntax

  { <query_specification> | ( <query_expression> ) }   
  UNION  
  <query_specification | ( <query_expression> )   
 [ UNION <query_specification> | ( <query_expression> )   
    [ ...n ] ]  
  

인수

< > query_specification | ( <query_expression> )

다른 쿼리 사양 또는 쿼리 식의 데이터와 결합할 데이터를 반환하는 쿼리 사양 또는 쿼리 식입니다. UNION 작업의 일부분인 열 정의는 동일하거나 별칭을 사용하여 같은 이름으로 지정되어야 하며 서로 호환되어야 합니다.

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