Agregace transformace v mapování toku dat

VZTAHUJE SE NA: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.

Toky dat jsou k dispozici v kanálech Azure Data Factory i v kanálech Azure Synapse Analytics. Tento článek se týká mapování toků dat. Pokud s transformacemi začínáte, přečtěte si úvodní článek Transformace dat pomocí mapování toků dat.

Tip

Ekvivalentní transformaci (seskupit podle) v toku dat Gen2 najdete v průvodci tokem dat Gen2 pro mapování uživatelů toku dat.

Transformace Agregace definuje agregace sloupců v datových proudech. Pomocí Tvůrce výrazů můžete definovat různé typy agregací, jako je SUMA, MIN, MAX a COUNT seskupené podle existujících nebo počítaných sloupců.

Seskupit podle

Vyberte existující sloupec nebo vytvořte nový počítaný sloupec, který použijete jako klauzuli GROUP BY pro agregaci. Pokud chcete použít existující sloupec, vyberte ho v rozevíracím seznamu. Pokud chcete vytvořit nový počítaný sloupec, najeďte myší na klauzuli a klikněte na Vypočítaný sloupec. Tím se otevře tvůrce výrazů toku dat. Po vytvoření počítaného sloupce zadejte do pole Název jako název výstupního sloupce. Pokud chcete přidat další klauzuli GROUP BY, najeďte myší na existující klauzuli a klikněte na ikonu plus.

Agregovat skupinu transformací podle nastavení

Klauzule group by je volitelná v agregační transformaci.

Agregované sloupce

Přejděte na kartu Agregace a sestavte agregační výrazy. Existující sloupec můžete přepsat agregací nebo vytvořit nové pole s novým názvem. Výraz agregace se zadává do pravého pole vedle selektoru názvů sloupců. Pokud chcete výraz upravit, klikněte na textové pole a otevřete tvůrce výrazů. Pokud chcete přidat další agregované sloupce, klikněte na Přidat nad seznam sloupců nebo na ikonu plus vedle existujícího agregovaného sloupce. Zvolte buď Přidat sloupec , nebo Přidat vzor sloupce. Každý agregační výraz musí obsahovat aspoň jednu agregační funkci.

Agregační nastavení

Poznámka:

V režimu ladění tvůrce výrazů nemůže vytvářet náhledy dat s agregačními funkcemi. Pokud chcete zobrazit náhledy dat pro agregované transformace, zavřete tvůrce výrazů a prohlédněte si data na kartě Náhled dat.

Vzory sloupců

Pomocí vzorů sloupců použijte stejnou agregaci u sady sloupců. To je užitečné, pokud chcete zachovat mnoho sloupců ze vstupního schématu, které se ve výchozím nastavení zahazují. Použijte heuristiku, jako je first(), pro zachování vstupních sloupců prostřednictvím agregace.

Opětovné připojení řádků a sloupců

Agregační transformace se podobají agregačním dotazům výběrů SQL. Sloupce, které nejsou součástí vaší skupiny podle klauzule nebo agregačních funkcí, neprojdou výstupem agregované transformace. Pokud chcete do agregovaného výstupu zahrnout další sloupce, proveďte jednu z následujících metod:

  • Použijte agregační funkci, například last() nebo first() k zahrnutí tohoto dalšího sloupce.
  • Znovu připojte sloupce k výstupnímu streamu pomocí vzoru self join.

Odebrání duplicitních řádků

Běžným použitím agregační transformace je odebrání nebo identifikace duplicitních položek ve zdrojových datech. Tento proces se označuje jako odstranění duplicitních dat. Na základě sady skupiny klíčů použijte heuristiku dle vašeho výběru k určení, který duplicitní řádek chcete zachovat. Běžné heuristiky jsou first(), last(), max()a min(). Pomocí vzorů sloupců můžete pravidlo použít pro každý sloupec s výjimkou sloupců, které jsou sloupce pro seskupování.

Odstranění duplicit

Ve výše uvedeném příkladu se sloupce ProductID a Name používají k seskupení. Pokud mají dva řádky stejné hodnoty pro tyto dva sloupce, považují se za duplicitní. V této agregační transformaci budou zachovány hodnoty z prvního nalezeného řádku a všechny ostatní budou odstraněny. Pomocí syntaxe vzoru sloupce jsou všechny sloupce, jejichž názvy nejsou ProductID a Name, namapovány na jejich stávající názvy a je jim přidělena hodnota z prvních odpovídajících řádků. Výstupní schéma je stejné jako vstupní schéma.

Ve scénářích count() ověření dat je možné funkci použít ke zjištění počtu duplicit.

Skript toku dat

Syntaxe

<incomingStream>
    aggregate(
           groupBy(
                <groupByColumnName> = <groupByExpression1>,
                <groupByExpression2>
               ),
           <aggregateColumn1> = <aggregateExpression1>,
           <aggregateColumn2> = <aggregateExpression2>,
           each(
                match(matchExpression),
                <metadataColumn1> = <metadataExpression1>,
                <metadataColumn2> = <metadataExpression2>
               )
          ) ~> <aggregateTransformationName>

Příklad

Následující příklad přebírá příchozí datový proud MoviesYear a seskupuje řádky podle sloupce year. Transformace vytvoří agregovaný sloupec avgrating , který se vyhodnotí jako průměr sloupce Rating. Tato agregační transformace má název AvgComedyRatingsByYear.

V uživatelském rozhraní vypadá tato transformace jako na následujícím obrázku:

Seskupte podle příkladu

Příklad agregace

Skript toku dat pro tuto transformaci je v následujícím fragmentu kódu.

MoviesYear aggregate(
                groupBy(year),
                avgrating = avg(toInteger(Rating))
            ) ~> AvgComedyRatingByYear

Agregační skript toku dat

MoviesYear: Odvozený sloupec definující sloupce roku a titulu AvgComedyRatingByYear: Agregační transformace pro průměrné hodnocení komedií seskupených podle roku avgrating: Název nového sloupce, který se vytváří pro agregovanou hodnotu

MoviesYear aggregate(groupBy(year),
	avgrating = avg(toInteger(Rating))) ~> AvgComedyRatingByYear