Sdílet prostřednictvím


Co je dělení v Azure IoT Data Processor Preview?

Důležité

Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.

Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.

V kanálu Azure IoT Data Processor Preview rozdělí dělení příchozích dat do samostatných oddílů, aby bylo možné paralelismus dat. Datový paralelismus zlepšuje propustnost a snižuje latenci. Dělení má vliv také na to, jak fáze kanálu, například poslední známá hodnota a agregační fáze, zpracovávají data.

Koncepty dělení

Zpracovatel dat používá dva koncepty dělení:

  • Fyzické oddíly, které odpovídají skutečným datovým proudům v systému.
  • Logické oddíly, které odpovídají koncepčním datovým proudům, které se zpracovávají společně.

Kanál zpracovatele dat zveřejňuje oddíly jako logické oddíly pro uživatele. Základní systém mapuje tyto logické oddíly na fyzické oddíly.

Pokud chcete zadat strategii dělení kanálu, zadejte dvě informace:

  • Počet fyzických oddílů pro váš kanál
  • Strategie dělení, která zahrnuje typ dělení a výraz pro výpočet logického oddílu pro každou příchozí zprávu.

Pro váš scénář je důležité zvolit správný počet oddílů a výrazy oddílů. Zpracovatel dat zachovává pořadí dat ve stejném logickém oddílu a zprávy ve stejném logickém oddílu je možné kombinovat ve fázích kanálu, jako je poslední známá hodnota a agregační fáze. Počet fyzických oddílů nejde změnit a určuje limity škálování kanálu.

A diagram that shows the effect of partitioning a pipeline.

Konfigurace dělení

Dělení v rámci kanálu se konfiguruje ve vstupní fázi kanálu. Vstupní fáze vypočítá klíč dělení z příchozí zprávy. Dělení ale má vliv na jiné fáze kanálu.

Konfigurace dělení zahrnuje:

Pole Popis Požaduje se Výchozí Příklad
Počet oddílů Počet fyzických oddílů v kanálu zpracovatele dat. Yes 3
Typ Typ logického dělení, který se má použít: Oddíl id nebo Oddíl key. Ano key key
Výraz Výraz jq, který se má provést proti příchozí zprávě pro výpočet oddílu id nebo oddílu key. Yes .topic

Zadáte výraz jq, který se vztahuje na celou zprávu, která dorazí do kanálu Zpracovatel dat pro vygenerování klíče oddílu nebo ID oddílu. Výstup tohoto dotazu nesmí překročit 128 znaků.

Typy dělení

Existují dva typy dělení, které můžete nakonfigurovat:

Klíč oddílu

Zadejte výraz jq, který dynamicky vypočítá řetězec klíče logického oddílu pro každou zprávu:

  • Správce oddílů automaticky přiřadí klíče oddílů k fyzickým oddílům správcem oddílů.
  • Všechna korelovaná data, jako jsou poslední známé hodnoty a agregace, jsou vymezena na logický oddíl.
  • Zaručuje se pořadí dat v každém logickém oddílu.

Tento typ dělení je nejužitečnější, pokud máte desítky nebo více logických seskupení dat.

ID oddílu

Zadejte výraz jq, který dynamicky vypočítá id číselného fyzického oddílu pro každou zprávu, například .topic.assetNumber % 8.

  • Zprávy se umístí do fyzického oddílu, který zadáte.
  • Všechna korelovaná data jsou vymezena na fyzický oddíl.

Tento typ dělení je nejvhodnější, pokud máte malý počet logických seskupení dat nebo chcete mít přesnou kontrolu nad škálováním a distribucí práce. Počet vytvořených ID oddílů by měl být celé číslo a nesmí překročit hodnotu 'partitionCount' – 1.

Důležité informace

Když pro svůj kanál vybíráte strategii dělení:

  • Řazení dat je zachováno v rámci logického oddílu, protože je přijato z témat zprostředkovatele MQTT.
  • Zvolte strategii dělení na základě povahy příchozích dat a požadovaných výsledků. Například poslední známá fáze hodnoty a agregační fáze provádějí operace s každým logickým oddílem.
  • Vyberte klíč oddílu, který rovnoměrně distribuuje data napříč všemi oddíly.
  • Zvýšení počtuoddílůch Tento kompromis vyvažte na základě vašich požadavků a omezení.