Zdieľať cez


Parametrizovaný tok údajov Gen2

Poznámka

Tento článok sa zameriava na architektúru riešenia z architektúr riešení CI/CD a ALM (Application Lifecycle Management) pre Dataflow Gen2 , ktorá sa spolieha na funkciu režimu verejných parametrov a je použiteľná iba pre Dataflow Gen2 s podporou CI/CD.

Parametre v Fabric Dataflow Gen2 umožňujú definovať opakovane použiteľné vstupy, ktoré formujú spôsob navrhovania toku údajov, a v režime verejných parametrov je možné tieto vstupy nastaviť za behu prostredníctvom kanálov alebo rozhraní API. Vďaka tomu je jeden tok údajov vysoko flexibilný a všestranný, pretože rovnakú logiku môžete opätovne použiť v mnohých scenároch jednoduchým odovzdaním rôznych hodnôt, čo umožňuje dynamické, automatizované pracovné postupy bez toho, aby ste museli prepisovať alebo duplikovať transformácie.

Tento kurz vás prevedie príkladom, ktorý vám ukáže, ako:

  • Parametrizácia zdroja: Použitie jazera so vzorovou množinou údajov WideWorldImpoters ako zdroja
  • Parametrizovať logiku: Používanie vstupných miniaplikácií dostupných v prostredí toku údajov
  • Parametrizovať cieľ: Použitie skladu ako cieľa
  • Odoslanie žiadosti o spustenie s hodnotami parametrov: odovzdanie hodnôt parametrov cez prostredie aktivity toku údajov v rámci kanála Fabric

Diagram parametrizovanej architektúry riešenia toku údajov v Dataflow Gen2.

Poznámka

Koncepty uvedené v tomto článku sú univerzálne pre Dataflow Gen2 a sú použiteľné pre iné zdroje a ciele nad rámec tých, ktoré sú tu uvedené.

Scenár

Snímka obrazovky dotazu s názvom dimension_city pre scenár v rámci toku údajov Gen2.

Tok údajov použitý v tomto scenári je jednoduchý, ale opísané základné princípy sa vzťahujú na všetky typy tokov údajov. Pripája sa k tabuľke s názvom dimension_city zo vzorovej množiny údajov Wide World Importers uloženej v Lakehouse. Filtruje riadky, v ktorých sa stĺpec SalesTerritory rovná Juhovýchod, a načíta výsledok do novej tabuľky s názvom Mesto v sklade. Všetky súčasti – Lakehouse, Warehouse a Dataflow – sa nachádzajú v rovnakom pracovnom priestore. Ak chcete, aby bol tok údajov dynamický, parametrizujte zdrojovú tabuľku, hodnotu filtra a cieľovú tabuľku. Tieto zmeny umožňujú, aby tok údajov bežal s konkrétnymi hodnotami namiesto pevne zakódovaných.

Pred pokračovaním povoľte režim verejných parametrov tak, že prejdete na kartu Domov , vyberiete položku Možnosti a v časti Parametre začiarknete políčko Povoliť zisťovanie a prepísanie parametrov na spustenie a povoľte toku údajov prijímať parametre počas vykonávania.

Snímka obrazovky dialógového okna možností v Dataflow Gen2 s sekciou Parametre zobrazujúcou nastavenie

Parametrizovať zdroj

Pri použití ktoréhokoľvek z konektorov Fabric, ako je napríklad Lakehouse, Warehouse alebo Fabric SQL, sa všetky riadia rovnakou navigačnou štruktúrou a používajú rovnaký vstupný formát. V tomto scenári žiadny z konektorov nevyžaduje manuálny vstup na vytvorenie spojenia. Každý z nich však zobrazuje, ku ktorému pracovnému priestoru a položke sa pripája prostredníctvom navigačných krokov v dotaze. Napríklad prvý navigačný krok obsahuje workspaceId, ku ktorému sa dotaz pripája.

Snímka obrazovky s krokom Navigácia 1 s hodnotou workspaceId v riadku vzorcov pre dimension_city dotaz.

Cieľom je nahradiť pevne zakódované hodnoty v riadku vzorcov parametrami. Konkrétne musíte vytvoriť jeden parameter pre WorkspaceId a ďalší pre LakehouseId. Ak chcete vytvoriť parametre, prejdite na kartu Domov na páse s nástrojmi, vyberte položku Spravovať parametre a potom v rozbaľovacej ponuke vyberte položku Nový parameter .

Snímka obrazovky s položkou na karte Domov na vytvorenie nového parametra.

Pri vytváraní parametrov sa uistite, že sú oba označené ako povinné a nastavené na typ textu . Pre ich aktuálne hodnoty použite tie, ktoré zodpovedajú zodpovedajúcim hodnotám z vášho konkrétneho prostredia.

Snímka obrazovky s parametrom LakehouseId vytvoreným v dialógovom okne Spravovať parametre.

Po vytvorení oboch parametrov môžete aktualizovať skript dotazu tak, aby ich používal namiesto pevne zakódovaných hodnôt. To zahŕňa manuálne nahradenie pôvodných hodnôt v riadku vzorcov odkazmi na parametre ID pracovného priestoru a ID jazera. Pôvodný skript dotazu vyzerá takto:

let
  Source = Lakehouse.Contents([]),
  #"Navigation 1" = Source{[workspaceId = "8b325b2b-ad69-4103-93ae-d6880d9f87c6"]}[Data],
  #"Navigation 2" = #"Navigation 1"{[lakehouseId = "2455f240-7345-4c8b-8524-c1abbf107d07"]}[Data],
  #"Navigation 3" = #"Navigation 2"{[Id = "dimension_city", ItemKind = "Table"]}[Data],
  #"Filtered rows" = Table.SelectRows(#"Navigation 3", each ([SalesTerritory] = "Southeast")),
  #"Removed columns" = Table.RemoveColumns(#"Filtered rows", {"ValidFrom", "ValidTo", "LineageKey"})
in
  #"Removed columns"

Po aktualizácii odkazov v navigačných krokoch môže nový aktualizovaný skript vyzerať takto:

let
  Source = Lakehouse.Contents([]),
  #"Navigation 1" = Source{[workspaceId = WorkspaceId]}[Data],
  #"Navigation 2" = #"Navigation 1"{[lakehouseId = LakehouseId]}[Data],
  #"Navigation 3" = #"Navigation 2"{[Id = "dimension_city", ItemKind = "Table"]}[Data],
  #"Filtered rows" = Table.SelectRows(#"Navigation 3", each ([SalesTerritory] = "Southeast")),
  #"Removed columns" = Table.RemoveColumns(#"Filtered rows", {"ValidFrom", "ValidTo", "LineageKey"})
in
  #"Removed columns"

A všimnete si, že stále správne vyhodnocuje ukážku údajov v editore toku údajov.

Parametrizácia logiky

Teraz, keď zdroj používa parametre, sa môžete zamerať na parametrizáciu logiky transformácie toku údajov. V tomto scenári je krok filtra miesto, kde sa použije logika, a filtrovaná hodnota, ktorá je momentálne pevne zakódovaná ako Juhovýchod, by sa mala nahradiť parametrom. Ak to chcete urobiť, vytvorte nový parameter s názvom Územie, nastavte jeho typ údajov na text, označte ho ako nepovinný a nastavte jeho aktuálnu hodnotu na Blízky východ.

Snímka obrazovky parametra Územie vytvoreného v dialógovom okne Spravovať parametre.

Vzhľadom na to, že váš krok filtra bol vytvorený pomocou používateľského rozhrania, môžete prejsť na krok Filtrované riadky, dvakrát ho vybrať a získať dialógové okno nastavení pre krok filtra. Toto dialógové okno vám umožňuje prostredníctvom vstupného widgetu vybrať, či chcete namiesto statickej hodnoty použiť parameter:

Snímka obrazovky vstupnej miniaplikácie v dialógovom okne riadkov filtra s možnosťou odkazovať na parameter.

Po výbere možnosti Vybrať parameter sa zobrazí rozbaľovacia ponuka so všetkými dostupnými parametrami, ktoré zodpovedajú požadovanému typu údajov. Z tohto zoznamu môžete vybrať novovytvorený parameter Territory.

Snímka obrazovky parametra Territory vybratého vo vstupnej miniaplikácii z dialógového okna riadkov filtra.

Po výbere tlačidla OK si všimnite, že zobrazenie diagramu už vytvorilo prepojenie medzi novovytvoreným parametrom a používaným dotazom. Nielen to, ale náhľad údajov vám teraz zobrazuje informácie o území Blízkeho východu .

Snímka obrazovky so zobrazením diagramu, nastaveniami dotazu a ukážkou údajov pre dotaz dimension_city zobrazujúci údaje pre oblasť predaja na Blízkom východe.

Parametrizácia cieľa

Poznámka

Odporúča sa, aby ste sa oboznámili s konceptom dátových cieľov v Dataflow Gen2 a s tým, ako sa vytvára jeho mashup skript z článku o dátových cieľoch a spravovaných nastaveniach

Posledným komponentom, ktorý sa má v tomto scenári parametrizovať, je cieľ. Zatiaľ čo informácie o tom, aký je cieľ údajov, nájdete v editore toku údajov, na parametrizáciu tejto časti toku údajov musíte použiť Git alebo rozhranie REST API.

Snímka obrazovky rozbaľovacej ponuky, ktorá obsahuje nastavenia cieľa údajov pre dotaz dimension_city.

V tomto kurze sa dozviete, ako vykonať zmeny prostredníctvom Gitu. Pred vykonaním zmien prostredníctvom gitu sa uistite, že:

  • Vytvorte parameter s názvom WarehouseId: uistite sa, že ako aktuálnu hodnotu použijete zodpovedajúce ID vášho skladu, nastavte ho podľa požiadaviek a textového dátového typu.
  • Uloženie toku údajov: použite tlačidlo Uložiť na karte Domov na páse s nástrojmi.

Snímka obrazovky s tlačidlom uloženia toku údajov.

Po uložení toku údajov nezabudnite potvrdiť zmeny do odkladacieho priestoru Git a prejsť do odkladacieho priestoru, kde nájdete súbor mashup.pq toku údajov. Pri pohľade na súbor mashup.pq vyhľadajte dotaz, ku ktorému ste priradili cieľ údajov. V tomto scenári je názov tohto dotazu dimension_city. Nad týmto názvom dotazu sa zobrazí atribút záznamu:

[DataDestinations = {[Definition = [Kind = "Reference", QueryName = "dimension_city_DataDestination", IsNewTarget = true], Settings = [Kind = "Manual", AllowCreation = true, ColumnSettings = [Mappings = {[SourceColumnName = "CityKey", DestinationColumnName = "CityKey"], [SourceColumnName = "WWICityID", DestinationColumnName = "WWICityID"], [SourceColumnName = "City", DestinationColumnName = "City"], [SourceColumnName = "StateProvince", DestinationColumnName = "StateProvince"], [SourceColumnName = "Country", DestinationColumnName = "Country"], [SourceColumnName = "Continent", DestinationColumnName = "Continent"], [SourceColumnName = "SalesTerritory", DestinationColumnName = "SalesTerritory"], [SourceColumnName = "Region", DestinationColumnName = "Region"], [SourceColumnName = "Subregion", DestinationColumnName = "Subregion"], [SourceColumnName = "Location", DestinationColumnName = "Location"], [SourceColumnName = "LatestRecordedPopulation", DestinationColumnName = "LatestRecordedPopulation"]}], DynamicSchema = false, UpdateMethod = [Kind = "Replace"], TypeSettings = [Kind = "Table"]]]}]
shared dimension_city = let

Tento záznam atribútu obsahuje pole s názvom NázovDotazu, ktoré obsahuje názov dotazu, ktorý má pre tento dotaz priradenú všetku cieľovú logiku údajov. Tento dotaz vyzerá takto:

shared dimension_city_DataDestination = let
  Pattern = Fabric.Warehouse([HierarchicalNavigation = null, CreateNavigationProperties = false]),
  Navigation_1 = Pattern{[workspaceId = "8b325b2b-ad69-4103-93ae-d6880d9f87c6"]}[Data],
  Navigation_2 = Navigation_1{[warehouseId = "527ba9c1-4077-433f-a491-9ef370e9230a"]}[Data],
  TableNavigation = Navigation_2{[Item = "City", Schema = "dbo"]}?[Data]?
in
  TableNavigation

Všimnite si, že podobne ako skript zdrojového kódu pre Lakehouse, aj tento skript pre cieľ má podobný vzor, kde napevno zakóduje workspaceid, ktorý je potrebné použiť, a tiež warehouseId. Nahraďte tieto pevné hodnoty identifikátormi parametrov a váš skript bude vyzerať takto:

shared dimension_city_DataDestination = let
  Pattern = Fabric.Warehouse([HierarchicalNavigation = null, CreateNavigationProperties = false]),
  Navigation_1 = Pattern{[workspaceId = WorkspaceId]}[Data],
  Navigation_2 = Navigation_1{[warehouseId = WarehouseId]}[Data],
  TableNavigation = Navigation_2{[Item = "City", Schema = "dbo"]}?[Data]?
in
  TableNavigation

Teraz môžete túto zmenu potvrdiť a aktualizovať tok údajov pomocou zmien z toku údajov prostredníctvom funkcie správy zdrojového kódu v pracovnom priestore. Všetky zmeny môžete overiť otvorením toku údajov a kontrolou cieľa údajov a všetkých predchádzajúcich odkazov na parametre, ktoré boli pridané. Tým sa dokončí všetka parametrizácia toku údajov a teraz môžete prejsť na spustenie toku údajov odovzdaním hodnôt parametrov na spustenie.

Spustiť požiadavku s hodnotami parametrov

Rozhranie REST API služby Fabric môžete použiť na odoslanie žiadosti o spustenie s vlastnou údajovou časťou, ktorá obsahuje hodnoty parametrov pre danú konkrétnu operáciu spustenia, a môžete tiež použiť rozhranie REST API na zistenie parametrov toku údajov a pochopenie toho, čo tok údajov očakáva, aby mohol spustiť spustenie. V tomto kurze použijete prostredie, ktoré sa nachádza v rámci aktivity toku údajov pre kanály služby Fabric. Začnite vytvorením kanála a pridaním novej aktivity toku údajov na plátno. V nastaveniach aktivity vyhľadajte pracovný priestor, v ktorom sa nachádza váš tok údajov, a potom v rozbaľovacom zozname vyberte Tok údajov.

Snímka obrazovky aktivity toku údajov s parametrami v kanáli.

Sekciu Parametre toku údajov je možné rozbaliť tak, aby zobrazovala všetky dostupné parametre v toku údajov a ich predvolené hodnoty. Tu môžete nahradiť ľubovoľné hodnoty a odovzdané hodnoty sa použijú na definovanie zdrojov, logiky a cieľa, ktoré by sa mali použiť na vyhodnotenie spustenia toku údajov. Môžete tiež vyskúšať nové scenáre vytvorením nového skladu a zmenou WarehouseId na vyhodnotenie alebo použitím tohto vzoru v kanáli nasadenia, kde je potrebné odovzdať WorkspaceId a ďalšie parametre, aby odkazovali na správne položky v príslušnom prostredí.