다음을 통해 공유


Azure IoT 데이터 프로세서 미리 보기에서 분할이란?

Important

Azure IoT 작업 미리 보기 - Azure Arc에서 지원되는 Azure IoT 작업은 현재 미리 보기로 제공됩니다. 프로덕션 환경에서는 이 미리 보기 소프트웨어를 사용하면 안 됩니다.

베타, 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 약관은 Microsoft Azure 미리 보기에 대한 추가 사용 약관을 참조하세요.

Azure IoT 데이터 프로세서 미리 보기 파이프라인에서 분할은 들어오는 데이터를 별도의 파티션으로 분할하여 데이터 병렬 처리를 사용하도록 설정합니다. 데이터 병렬 처리는 처리량을 향상시키고 대기 시간을 줄입니다. 분할은 마지막으로 알려진 값집계 단계와 같은 파이프라인 단계가 데이터를 처리하는 방식에도 영향을 줍니다.

분할 개념

데이터 프로세서는 다음 두 가지 분할 개념을 사용합니다.

  • 시스템 내의 실제 데이터 스트림에 해당하는 실제 파티션입니다.
  • 함께 처리되는 개념적 데이터 스트림에 해당하는 논리 파티션입니다.

데이터 프로세서 파이프라인은 사용자에게 파티션을 논리 파티션으로 노출합니다. 기본 시스템은 이러한 논리 파티션을 실제 파티션에 매핑합니다.

파이프라인에 대한 분할 전략을 지정하려면 다음 두 가지 정보를 제공합니다.

  • 파이프라인의 실제 파티션 수입니다.
  • 들어오는 각 메시지에 대한 논리 파티션을 계산하기 위한 분할 유형 및 식을 포함하는 분할 전략입니다.

시나리오에 적합한 파티션 수 및 파티션 식을 선택하는 것이 중요합니다. 데이터 프로세서는 동일한 논리 파티션 내의 데이터 순서를 유지하며, 동일한 논리 파티션의 메시지는 마지막으로 알려진 값집계 단계와 같은 파이프라인 단계에서 결합될 수 있습니다. 실제 파티션 수는 변경할 수 없으며 파이프라인 스케일링 제한을 결정합니다.

A diagram that shows the effect of partitioning a pipeline.

분할 구성

파이프라인 내 분할은 파이프라인의 입력 단계에서 구성됩니다. 입력 단계에서는 들어오는 메시지의 분할 키를 계산합니다. 그러나 분할은 파이프라인의 다른 단계에 영향을 미칩니다.

분할 구성에는 다음이 포함됩니다.

필드 설명 필수 항목 기본값 예시
파티션 수 데이터 프로세서 파이프라인의 실제 파티션 수입니다. 해당 없음 3
Type 사용할 논리 분할 유형: 파티션 id 또는 파티션 key. key key
파티션 id 또는 파티션 key를 계산하기 위해 들어오는 메시지에 대해 실행할 jq 식입니다. 해당 없음 .topic

파티션 키 또는 파티션 ID를 생성하기 위해 데이터 프로세서 파이프라인에 도착하는 전체 메시지에 적용되는 jq 식을 제공합니다. 이 쿼리의 출력은 128자를 초과하면 안됩니다.

분할 유형

구성할 수 있는 두 가지 분할 유형이 있습니다.

파티션 키

각 메시지에 대한 논리 파티션 키 문자열을 동적으로 계산하는 jq 식을 지정합니다.

  • 파티션 관리자는 파티션 관리자에 의한 실제 파티션에 파티션 키를 자동으로 할당합니다.
  • 마지막으로 알려진 값 및 집계와 같은 상관 관계가 있는 모든 데이터는 논리 파티션으로 범위가 지정됩니다.
  • 각 논리 파티션의 데이터 순서가 보장됩니다.

이러한 유형의 분할은 수십 개 이상의 논리적 데이터 그룹이 있는 경우에 가장 유용합니다.

파티션 ID

예를 들어 .topic.assetNumber % 8각 메시지에 대한 숫자 실제 파티션 ID를 동적으로 계산하는 jq 식을 지정합니다.

  • 메시지는 지정한 실제 파티션에 배치됩니다.
  • 상관 관계가 있는 모든 데이터는 실제 파티션으로 범위가 지정됩니다.

이 유형의 분할은 적은 수의 논리적 데이터 그룹이 있거나 크기 조정 및 작업 분포를 정확하게 제어하려는 경우에 가장 적합합니다. 생성되는 파티션 ID의 수는 정수여야 하며 'partitionCount' – 1 값을 초과해서는 안 됩니다.

고려 사항

파이프라인에 대한 분할 전략을 선택하는 경우:

  • MQTT broker 토픽에서 받은 대로 데이터 순서는 논리 파티션 내에서 유지됩니다.
  • 들어오는 데이터의 특성과 원하는 결과에 따라 분할 전략을 선택합니다. 예를 들어 마지막으로 알려진 값 단계와 집계 단계는 각 논리 파티션에 대한 작업을 수행합니다.
  • 모든 파티션에 데이터를 균등하게 분산하는 파티션 키를 선택합니다.
  • 파티션 수를 늘리면 성능이 향상될 수 있지만 더 많은 리소스를 소비할 수도 있습니다. 요구 사항 및 제약 조건에 따라 이 절차를 균형 조정합니다.