Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Note
Tässä artikkelissa keskitytään ratkaisuarkkitehtuuriin CI/CD- ja ALM (Application Lifecycle Management) -ratkaisuarkkitehtuureista Dataflow Gen2:lle , joka perustuu muuttujakirjastojen integrointiin ja koskee vain Dataflow Gen2:ta, jossa on CI/CD-tuki.
Dataflow Gen2:n Fabric-muuttujakirjastot mahdollistavat keskitetyn, uudelleenkäytettävän kokoonpanon hallinnan eri ympäristöissä. Viittaamalla muuttujiin suoraan tietovuon komentosarjoissa voit säätää käyttäytymistä dynaamisesti ilman kovakoodausarvoja, mikä sopii erinomaisesti CI/CD-työnkulkuihin. Tämä integrointi yksinkertaistaa käyttöönottoa eri vaiheissa sallimalla työtilakohtaisten arvojen (kuten Lakehouse- tai työtilatunnusten) lisäämisen suorituksen aikana, mikä tekee tietovoistasi mukautuvampia ja ylläpidettävimpiä.
Tässä opetusohjelmassa käydään läpi esimerkkiratkaisu, joka käyttää muuttujaviittauksia tietovuossa, ja näytetään, miten:
- Muuttujien määrittäminen: Fabric-muuttujakirjastojen ja niiden erillisten tietotyyppien käyttäminen
- Muuttujapohjainen lähde: Lakehousen käyttäminen WideWorldImpoters-mallitietojoukon kanssa lähteenä
- Muuttujapohjainen logiikka: Tietovuokokemuksessa käytettävissä olevien syötepienoissovellusten käyttäminen
- Muuttujapohjainen kohde: Varaston käyttäminen määränpäänä
Note
Tässä artikkelissa esitellyt käsitteet ovat yleisiä Dataflow Gen2:lle, ja niitä voidaan soveltaa muihin lähteisiin ja kohteisiin kuin tässä esitettyihin.
Skenaario
Tässä skenaariossa käytetty tietovuo on yksinkertainen, mutta kuvatut perusperiaatteet koskevat kaikentyyppisiä tietovoita. Se muodostaa yhteyden taulukkoon nimeltä dimension_city Lakehouseen tallennetusta Wide World Importers -mallitietojoukosta. Se suodattaa rivit, joissa SalesTerritory-sarake on yhtä suuri kuin Kaakko, ja lataa tuloksen uuteen taulukkoon nimeltä Kaupunki varastossa. Kaikki komponentit – Lakehouse, Warehouse ja Dataflow – sijaitsevat samassa työtilassa. Jos haluat tehdä tietovuosta dynaamisen, käytät muuttujia lähdetaulukon, suodattimen arvon ja kohdetaulukon ohjaamiseen. Näiden muutosten avulla tietovuo voidaan suorittaa Fabric-muuttujakirjastoihin tallennettujen arvojen kanssa kovakoodattujen sijaan.
Muuttujien asettaminen
Note
Varmista, että Fabric-muuttujakirjastot ovat käytössä organisaatiossasi tai käyttöoikeusryhmässäsi. Lue lisää muuttujakirjastojen käytön aloittamisesta.
Parhaana käytäntönä on aina suositeltavaa pitää mielessä suunnittelu ennen ratkaisun luomista ja se, mitkä tietovuon komponentit hankitaan dynaamisesti muuttujakirjastosta. Vaikka voit luoda useita kirjastoja työtilassa, tässä esimerkissä käytetään yhtä kirjastoa nimeltä Oma kirjasto , joka sisältää Dataflow Gen2:n käyttämät muuttujat:
| Muuttujan nimi | Tyyppi | Tarkoitus |
|---|---|---|
| WorkspaceId | GUID-tunnus | Käytetään tietolähteen ja kohdekomentosarjoissa tietovuon |
| LakehouseId | GUID-tunnus | Määrittää lähteenä käytettävän Lakehousen tunnuksen |
| WarehouseId | GUID-tunnus | Määrittää kohteena käytettävän varaston tunnuksen |
| Alue | String | Määrittää, mitä arvoa käytetään tietovuon suodatuslogiikan ohjaamiseen |
Varmista, että asetat oletusarvot, jotka vastaavat omaa ympäristöäsi, ja tallenna sitten muuttujakirjasto.
Muuttujapohjainen lähde
Kun käytät mitä tahansa Fabric-yhdistintä, kuten Lakehousea, Warehousea tai Fabric SQL:ää, ne kaikki noudattavat samaa siirtymisrakennetta ja käyttävät samaa syöttömuotoa. Tässä skenaariossa mikään liittimistä ei vaadi manuaalista syöttöä yhteyden muodostamiseksi. Jokainen niistä näyttää kuitenkin, mihin työtilaan ja kohteeseen se muodostaa yhteyden kyselyn siirtymisvaiheiden kautta. Esimerkiksi ensimmäinen siirtymisvaihe sisältää workspaceId-tunnuksen, johon kysely muodostaa yhteyden.
Tavoitteena on korvata kaavarivin kovakoodatut arvot muuttujilla. Tarkemmin sanottuna haluat käyttää muuttujia WorkspaceId ja LakehouseId tämän logiikan ohjaamiseen. Ensin sinun on tuotava nämä muuttujat Dataflow Gen2:een. Suositeltu tapa on luoda kyselyitä kullekin erilliselle muuttujalle, jotta voit keskittää ja hallita helposti kaikkia muuttujia, joita aiot käyttää. Voit tehdä tämän luomalla tyhjän kyselyn siirtymällä valintanauhan Hae tiedot -merkintään ja valitsemalla avattavasta valikosta Tyhjä kysely -vaihtoehdon.
Kun valitset tämän vaihtoehdon, näkyviin tulee uusi valintaikkuna, jossa näet luodun tyhjän kyselyn. Voit tuoda tämän uuden tyhjän kyselyn valitsemalla OK.
Kun kysely on luotu ja näkyy tietovuossa, nimeä se uudelleen WorkspaceId:ksi ja korvaa Lähde-vaiheen kaava seuraavasti:
Variable.ValueOrDefault("$(/**/My Library/WorkspaceId)", "Your Workspace ID")
Tämä komentosarja on pohjimmiltaan se, joka pystyy määrittämään, mikä kirjasto ja muuttuja haetaan. Funktion toinen argumentti Variable.ValueOrDefault määrittää, mikä arvo annetaan, kun muuttujaa ei voi noutaa.
Note
Varmista, että korvaat funktion toisen argumentin "Your Workspace ID" -merkkijonon omalla vastaavalla arvollasi ympäristössäsi ja tallenna kysely.
Toista tämä prosessi LakehouseId-muuttujalle ja luo kysely, jolla on sama nimi kuin muuttujalla, mutta käytä seuraavaa kaavaa Lähde-vaiheessa:
Variable.ValueOrDefault("$(/**/My Library/LakehouseId)", "Your Lakehouse ID")
Note
Varmista, että korvaat funktion toisen argumentin "Lakehouse-tunnuksesi" merkkijono omalla vastaavalla arvollasi ympäristössäsi ja tallenna kysely.
Kun molemmat kyselyt on luotu, voit päivittää kyselykomentosarjan käyttämään niitä kovakoodattujen arvojen sijaan. Tämä tarkoittaa kaavarivin alkuperäisten arvojen manuaalista korvaamista viittauksilla WorkspaceId- ja LakehouseId-kyselyihin. Alkuperäinen kyselykomentosarja näyttää tältä:
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"
Kun olet päivittänyt siirtymisvaiheiden viittaukset, uusi päivitetty komentosarja saattaa näyttää tältä:
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"
Huomaat, että se arvioi edelleen oikein tietojen esikatselun tietovuoeditorissa kaavionäkymässä luoduilla suorilla viittauksilla kaikkien mukana olevien kyselyjen välillä:
Muuttujaohjattu logiikka
Nyt kun lähde käyttää muuttujia, voit keskittyä tietovuon muunnoslogiikan muokkaamiseen. Tässä skenaariossa suodatinvaiheessa logiikkaa käytetään, ja suodatettava arvo, joka on tällä hetkellä kiinteäkoodattu Kaakkois-arvoksi, on korvattava kyselyllä, joka viittaa muuttujaan. Voit tehdä tämän toistamalla saman prosessin luomalla uuden tyhjän kyselyn ja käyttämällä sen Lähde-vaiheen kaavaa uudelleen niin, että se sisältää Alue-muuttujan ja muutat kyselyn nimen myös muuttujan nimeksi. Käytä seuraavaa komentosarjaa:
Variable.ValueOrDefault("$(/**/My Library/Territory)", "Mideast")
Koska suodatinvaihe on luotu käyttöliittymän avulla, voit siirtyä Suodatetut rivit -vaiheeseen, kaksoisvalita sen ja saada suodatinvaiheen asetusikkunan. Tämän valintaikkunan avulla voit valita syöttöwidgetin kautta, haluatko käyttää kyselyä staattisen arvon sijaan:
Kun olet valinnut Valitse kysely -vaihtoehdon, näkyviin tulee avattava valikko, jossa näkyvät kaikki kyselyt, joista voit valita. Tästä luettelosta voit valita juuri luodun Alue-kyselyn .
Kun olet valinnut OK, huomaa, että kaavionäkymä on jo luonut linkin Alue-kyselyn ja käytössä olevan kyselyn välille. Ei vain sitä, vaan tietojen esikatselu näyttää nyt tietoja Lähi-idän alueelta.
Muuttujaan perustuva kohde
Note
On suositeltavaa tutustua Dataflow Gen2:n tietokohteiden käsitteeseen ja siihen, miten sen koostekomentosarja luodaan tietokohteita ja hallittuja asetuksia käsittelevästä artikkelista.
Viimeinen tässä skenaariossa muokattava komponentti on kohde. Vaikka tiedot tietojen kohteesta löytyvät tietovuoeditorista, tietovuon tämän osan muokkaamiseen on käytettävä Gitiä tai REST-ohjelmointirajapintaa.
Tämä opetusohjelma näyttää, kuinka voit tehdä muutoksia Gitin kautta. Ennen kuin voit tehdä muutoksia gitin kautta, varmista, että:
- Luo kysely WarehouseId-muuttujalle: Luo uusi tyhjä kysely noudattamalla samaa prosessia, joka on kuvattu aiemmissa osissa, ja korvaa Lähde-vaiheen kaava seuraavasti:
Variable.ValueOrDefault("$(/**/My Library/WarehouseId)", "Your Warehouse ID")
Note
Varmista, että korvaat funktion toisen argumentin "Varastotunnuksesi" merkkijono omalla vastaavalla arvollasi ympäristössäsi ja tallenna kysely.
Tärkeää
Varmista, että valmistelu on poistettu käytöstä kaikissa muuttujaa sisältävissä kyselyissäsi.
- Tallenna tietovuo: käytä Tallenna-painiketta valintanauhan aloitusvälilehdessä.
Kun tietovuo on tallennettu, muista vahvistaa muutokset Git-säilöön ja siirtyä arkistoosi nähdäksesi tietovuon mashup.pq-tiedoston . Kun tarkastelet mashup.pq-tiedostoa , etsi kysely, johon liitit tietokohteen. Tässä skenaariossa kyselyn nimi on dimension_city. Tämän kyselyn nimen yläpuolella näkyy tietuemäärite:
[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
Tässä määritetietueessa on kenttä, jonka nimi on QueryName, joka sisältää sen kyselyn nimen, johon on liitetty kaikki tähän kyselyyn liittyvät tietojen kohdelogiikat. Tämä kysely näyttää seuraavalta:
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
Huomaat, että samoin kuin Lakehousen lähteen komentosarjassa, tässä kohteen komentosarjassa on samanlainen malli, jossa se koodataan käytettävän workspaceid:n ja myös warehouseId:n. Korvaa nämä kiinteät arvot luomiesi kyselyjen tunnisteilla, niin komentosarjasi näyttää seuraavalta:
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
Voit nyt vahvistaa tämän muutoksen ja päivittää tietovuon käyttämällä tietovuon muutoksia työtilan lähteenhallintaominaisuuden kautta.
Voit nyt suorittaa tietovuon, joka käyttää muuttujakirjastojen arvoja.