Κοινοποίηση μέσω


Παραμετροποιημένη ροή δεδομένων Gen2

Σημείωμα

Αυτό το άρθρο εστιάζει σε μια αρχιτεκτονική λύσης από τις αρχιτεκτονικές λύσεων CI/CD και ALM (Application Lifecycle Management) για το Dataflow Gen2 που βασίζεται στη δυνατότητα λειτουργίας δημόσιων παραμέτρων και ισχύει μόνο για το Dataflow Gen2 με υποστήριξη CI/CD.

Οι παράμετροι στο Fabric Dataflow Gen2 σάς επιτρέπουν να ορίζετε επαναχρησιμοποιήσιμες εισόδους που διαμορφώνουν τον τρόπο σχεδίασης μιας ροής δεδομένων και με τη λειτουργία δημόσιων παραμέτρων αυτές οι είσοδοι μπορούν να οριστούν κατά τον χρόνο εκτέλεσης μέσω διοχετεύσεων ή API. Καθιστά μια μεμονωμένη ροή δεδομένων εξαιρετικά ευέλικτη και ευέλικτη, καθώς μπορείτε να χρησιμοποιήσετε ξανά την ίδια λογική σε πολλά σενάρια απλώς περνώντας διαφορετικές τιμές, επιτρέποντας δυναμικές, αυτοματοποιημένες ροές εργασιών χωρίς να χρειάζεται ποτέ να ξαναγράψετε ή να αντιγράψετε τους μετασχηματισμούς.

Αυτό το εκπαιδευτικό βοήθημα σας καθοδηγεί σε ένα παράδειγμα που σας δείχνει πώς μπορείτε να κάνετε τα εξής:

  • Παραμετροποίηση προέλευσης: Χρήση ενός Lakehouse με το δείγμα συνόλου δεδομένων WideWorldImpoters ως προέλευση
  • Λογική παραμετροποίησης: Χρήση των γραφικών στοιχείων εισόδου που είναι διαθέσιμα σε όλη την εμπειρία ροής δεδομένων
  • Παραμετροποίηση προορισμού: Χρήση αποθήκης ως προορισμού
  • Υποβολή αιτήματος εκτέλεσης με τιμές παραμέτρων: διαβίβαση τιμών παραμέτρων μέσω της εμπειρίας δραστηριότητας ροής δεδομένων εντός μιας διοχέτευσης Fabric

Διάγραμμα μιας αρχιτεκτονικής λύσης παραμετροποιημένης ροής δεδομένων στο Dataflow Gen2.

Σημείωμα

Οι έννοιες που παρουσιάζονται σε αυτό το άρθρο είναι καθολικές για το Dataflow Gen2 και ισχύουν για άλλες προελεύσεις και προορισμούς πέρα από αυτούς που εμφανίζονται εδώ.

Το σενάριο

Στιγμιότυπο οθόνης του ερωτήματος με το όνομα dimension_city για το σενάριο μέσα στο Dataflow Gen2.

Η ροή δεδομένων που χρησιμοποιείται σε αυτό το σενάριο είναι απλή, αλλά οι βασικές αρχές που περιγράφονται ισχύουν για όλους τους τύπους ροών δεδομένων. Συνδέεται με τον πίνακα με το όνομα dimension_city από το δείγμα συνόλου δεδομένων Wide World Importers που είναι αποθηκευμένο σε ένα Lakehouse. Φιλτράρει τις γραμμές όπου η στήλη SalesTerritory ισούται με Νοτιοανατολικά και φορτώνει το αποτέλεσμα σε έναν νέο πίνακα που ονομάζεται Πόλη σε μια αποθήκη. Όλα τα στοιχεία—το Lakehouse, η Αποθήκη και η Ροή δεδομένων—βρίσκονται στον ίδιο χώρο εργασίας. Για να κάνετε τη ροή δεδομένων δυναμική, παραμετροποιείτε τον πίνακα προέλευσης, την τιμή φίλτρου και τον πίνακα προορισμού. Αυτές οι αλλαγές επιτρέπουν στη ροή δεδομένων να εκτελείται με συγκεκριμένες τιμές αντί για ενσωματωμένες στον κώδικα.

Πριν συνεχίσετε, ενεργοποιήστε τη λειτουργία δημόσιων παραμέτρων μεταβαίνοντας στην Αρχική καρτέλα, επιλέγοντας Επιλογές και στην ενότητα Παράμετροι , επιλέγοντας το πλαίσιο με την ετικέτα Ενεργοποίηση παραμέτρων για εντοπισμό και παράκαμψη παραμέτρων για εκτέλεση και επιτρέψτε στη ροή δεδομένων σας να δέχεται παραμέτρους κατά την εκτέλεση.

Στιγμιότυπο οθόνης του παραθύρου διαλόγου επιλογών στο Dataflow Gen2 με την ενότητα Παράμετροι που εμφανίζει τη ρύθμιση

Παραμετροποίηση πηγής

Όταν χρησιμοποιείτε οποιαδήποτε από τις συνδέσεις Fabric, όπως Lakehouse, Warehouse ή Fabric SQL, όλες ακολουθούν την ίδια δομή περιήγησης και χρησιμοποιούν την ίδια μορφή εισόδου. Σε αυτό το σενάριο, καμία από τις υποδοχές δεν απαιτεί μη αυτόματη εισαγωγή για τη δημιουργία σύνδεσης. Ωστόσο, κάθε μία εμφανίζει τον χώρο εργασίας και το στοιχείο με τα οποία συνδέεται μέσω των βημάτων περιήγησης στο ερώτημά σας. Για παράδειγμα, το πρώτο βήμα περιήγησης περιλαμβάνει το workspaceId με το οποίο συνδέεται το ερώτημα.

Στιγμιότυπο οθόνης του βήματος Περιήγηση 1 με την τιμή workspaceId στη γραμμή τύπων για το ερώτημα dimension_city.

Ο στόχος είναι να αντικαταστήσετε τις ενσωματωμένες τιμές στη γραμμή τύπων με παραμέτρους. Συγκεκριμένα, πρέπει να δημιουργήσετε μία παράμετρο για το WorkspaceId και μια άλλη για το LakehouseId. Για να δημιουργήσετε παραμέτρους, μεταβείτε στην Αρχική καρτέλα στην κορδέλα, επιλέξτε Διαχείριση παραμέτρων και, στη συνέχεια, επιλέξτε Νέα παράμετρος από το αναπτυσσόμενο μενού.

Στιγμιότυπο οθόνης της καταχώρησης στην καρτέλα Αρχική σελίδα για να δημιουργήσετε μια νέα παράμετρο.

Καθώς δημιουργείτε τις παραμέτρους, βεβαιωθείτε ότι και οι δύο έχουν επισημανθεί ως απαιτούμενες και έχουν οριστεί στον τύπο κειμένου . Για τις τρέχουσες τιμές τους, χρησιμοποιήστε αυτές που ταιριάζουν με τις αντίστοιχες τιμές από το συγκεκριμένο περιβάλλον σας.

Στιγμιότυπο οθόνης της παραμέτρου LakehouseId που δημιουργήθηκε μέσα στο παράθυρο διαλόγου Διαχείριση παραμέτρων.

Μόλις δημιουργηθούν και οι δύο παράμετροι, μπορείτε να ενημερώσετε τη δέσμη ενεργειών ερωτήματος για να τις χρησιμοποιήσετε αντί για τιμές με ενσωματωμένο κώδικα. Αυτό περιλαμβάνει τη μη αυτόματη αντικατάσταση των αρχικών τιμών στη γραμμή τύπων με αναφορές στις παραμέτρους Αναγνωριστικό χώρου εργασίας και Αναγνωριστικό λίμνης. Το αρχικό σενάριο ερωτήματος μοιάζει με αυτό:

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"

Αφού ενημερώσετε τις αναφορές στα βήματα περιήγησης, το νέο ενημερωμένο σενάριο μπορεί να μοιάζει με αυτό:

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"

Και παρατηρείτε ότι εξακολουθεί να αξιολογεί σωστά την προεπισκόπηση δεδομένων στο πρόγραμμα επεξεργασίας ροής δεδομένων.

Παραμετροποίηση λογικής

Τώρα που η προέλευση χρησιμοποιεί παραμέτρους, μπορείτε να εστιάσετε στην παραμετροποίηση της λογικής μετασχηματισμού της ροής δεδομένων. Σε αυτό το σενάριο, το βήμα φίλτρου είναι το σημείο όπου εφαρμόζεται η λογική και η τιμή που φιλτράρεται, επί του παρόντος κωδικοποιημένη ως Νοτιοανατολική, θα πρέπει να αντικατασταθεί με μια παράμετρο. Για να το κάνετε αυτό, δημιουργήστε μια νέα παράμετρο με το όνομα Territory, ορίστε τον τύπο δεδομένων της σε κείμενο, σημειώστε την ως μη απαιτούμενη και ορίστε την τρέχουσα τιμή της σε Mideast.

Στιγμιότυπο οθόνης της παραμέτρου Territory που δημιουργήθηκε μέσα στο παράθυρο διαλόγου Διαχείριση παραμέτρων.

Δεδομένου ότι το βήμα φίλτρου δημιουργήθηκε χρησιμοποιώντας τη διεπαφή χρήστη, μπορείτε να μεταβείτε στο βήμα Φιλτραρισμένες σειρές, να το επιλέξετε δύο φορές και να λάβετε το παράθυρο διαλόγου ρυθμίσεων για το βήμα φίλτρου. Αυτός ο διάλογος σας επιτρέπει να επιλέξετε, μέσω του μικροεργαλείου εισαγωγής, εάν θέλετε να χρησιμοποιήσετε μια παράμετρο αντί για μια στατική τιμή:

Στιγμιότυπο οθόνης του μικροεργαλείου εισόδου στο παράθυρο διαλόγου σειρών φίλτρου με την επιλογή αναφοράς μιας παραμέτρου.

Αφού ορίσετε την επιλογή Επιλογή παραμέτρου, θα εμφανιστεί ένα αναπτυσσόμενο μενού που θα εμφανίζει όλες τις διαθέσιμες παραμέτρους που ταιριάζουν με τον απαιτούμενο τύπο δεδομένων. Από αυτήν τη λίστα, μπορείτε να επιλέξετε την παράμετρο Territory που μόλις δημιουργήσατε.

Στιγμιότυπο οθόνης της παραμέτρου Territory που έχει επιλεγεί μέσα στο widget εισόδου από το διάλογο σειρών φίλτρου.

Αφού επιλέξετε OK, παρατηρήστε ότι η προβολή διαγράμματος έχει ήδη δημιουργήσει τη σύνδεση μεταξύ της παραμέτρου που μόλις δημιουργήσατε και του ερωτήματος που χρησιμοποιείται. Όχι μόνο αυτό, αλλά η προεπισκόπηση δεδομένων σάς δείχνει τώρα πληροφορίες για την επικράτεια της Μέσης Ανατολής .

Στιγμιότυπο οθόνης της προβολής διαγράμματος, των ρυθμίσεων ερωτήματος και της προεπισκόπησης δεδομένων για το ερώτημα dimension_city που εμφανίζει δεδομένα για το Mideast SalesTerritory.

Παραμετροποίηση προορισμού

Σημείωμα

Συνιστάται να εξοικειωθείτε με την έννοια των προορισμών δεδομένων στο Dataflow Gen2 και τον τρόπο δημιουργίας της δέσμης ενεργειών συνδυασμού δεδομένων από το άρθρο σχετικά με τους προορισμούς δεδομένων και τις διαχειριζόμενες ρυθμίσεις

Το τελευταίο στοιχείο που πρέπει να παραμετροποιηθεί σε αυτό το σενάριο είναι ο προορισμός. Ενώ οι πληροφορίες σχετικά με το ποιος είναι ο προορισμός δεδομένων μπορούν να βρεθούν στο πρόγραμμα επεξεργασίας ροής δεδομένων, για να παραμετροποιήσετε αυτό το τμήμα της ροής δεδομένων πρέπει να χρησιμοποιήσετε το Git ή το REST API.

Στιγμιότυπο οθόνης του αναδυόμενου στοιχείου που περιέχει τις ρυθμίσεις προορισμού δεδομένων για το ερώτημα dimension_city.

Αυτό το εκπαιδευτικό βοήθημα μας δείχνει πώς να κάνουμε τις αλλαγές μέσω του Git. Για να μπορέσουμε να κάνουμε αλλαγές μέσω του git, βεβαιωθείτε ότι:

  • Δημιουργήστε μια παράμετρο με το όνομα WarehouseId: βεβαιωθείτε ότι χρησιμοποιείτε το αντίστοιχο αναγνωριστικό της Αποθήκης σας ως τρέχουσα τιμή, ορίστε το όπως απαιτείται και του τύπου δεδομένων κειμένου.
  • Αποθήκευση της ροής δεδομένων: χρησιμοποιήστε το κουμπί Αποθήκευση στην αρχική καρτέλα της κορδέλας.

Στιγμιότυπο οθόνης του κουμπιού αποθήκευσης ροής δεδομένων.

Μόλις αποθηκευτεί η ροή δεδομένων σας, βεβαιωθείτε ότι έχετε πραγματοποιήσει τις αλλαγές στο αποθετήριο Git και μεταβείτε στο αποθετήριο για να δείτε το αρχείο mashup.pq της ροής δεδομένων σας. Όταν εξετάζετε το αρχείο mashup.pq , αναζητήστε το ερώτημα με το οποίο συσχετίσατε τον προορισμό δεδομένων. Σε αυτό το σενάριο, το όνομα αυτού του ερωτήματος είναι dimension_city. Βλέπετε ένα χαρακτηριστικό καρτέλας πάνω από αυτό το όνομα ερωτήματος:

[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

Αυτή η καρτέλα χαρακτηριστικού έχει ένα πεδίο με το όνομα QueryName, το οποίο περιέχει το όνομα του ερωτήματος που έχει όλη τη λογική προορισμού δεδομένων που σχετίζεται με αυτό το ερώτημα. Αυτό το ερώτημα έχει την εξής μορφή:

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

Παρατηρείτε ότι, παρόμοια με το σενάριο της πηγής για το Lakehouse, αυτό το σενάριο για τον προορισμό έχει ένα παρόμοιο μοτίβο όπου κωδικοποιεί το workspaceid που πρέπει να χρησιμοποιηθεί και επίσης το warehouseId. Αντικαταστήστε αυτές τις σταθερές τιμές με τα αναγνωριστικά των παραμέτρων και το σενάριό σας θα έχει την εξής μορφή:

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

Τώρα μπορείτε να πραγματοποιήσετε αυτήν την αλλαγή και να ενημερώσετε τη ροή δεδομένων σας χρησιμοποιώντας τις αλλαγές από τη ροή δεδομένων σας μέσω της δυνατότητας ελέγχου προέλευσης στον χώρο εργασίας σας. Μπορείτε να επαληθεύσετε ότι όλες οι αλλαγές είναι στη θέση τους, ανοίγοντας τη ροή δεδομένων και εξετάζοντας τον προορισμό δεδομένων και τυχόν προηγούμενες αναφορές παραμέτρων που προστέθηκαν. Αυτό οριστικοποιεί όλη την παραμετροποίηση της ροής δεδομένων σας και τώρα μπορείτε να προχωρήσετε στην εκτέλεση της ροής δεδομένων σας μεταβιβάζοντας τιμές παραμέτρων για εκτέλεση.

Εκτέλεση αιτήματος με τιμές παραμέτρων

Μπορείτε να χρησιμοποιήσετε το Fabric REST API για να στείλετε μια αίτηση εκτέλεσης με ένα προσαρμοσμένο ωφέλιμο φορτίο που περιέχει τις τιμές παραμέτρων σας για τη συγκεκριμένη λειτουργία εκτέλεσης και μπορείτε επίσης να χρησιμοποιήσετε το REST API για να ανακαλύψετε παραμέτρους ροής δεδομένων και να κατανοήσετε τι αναμένει η ροή δεδομένων, ώστε να μπορεί να ενεργοποιήσει μια εκτέλεση. Σε αυτό το εκπαιδευτικό βοήθημα, θα χρησιμοποιήσετε την εμπειρία που βρίσκεται στη δραστηριότητα ροής δεδομένων για διοχετεύσεις Fabric. Ξεκινήστε δημιουργώντας μια διοχέτευση και προσθέστε μια νέα δραστηριότητα ροής δεδομένων στον καμβά. Στις ρυθμίσεις της δραστηριότητας, βρείτε τον χώρο εργασίας όπου βρίσκεται η ροή δεδομένων σας και, στη συνέχεια, επιλέξτε τη ροή δεδομένων από την αναπτυσσόμενη λίστα.

Στιγμιότυπο οθόνης της δραστηριότητας ροής δεδομένων με παραμέτρους μέσα σε μια διοχέτευση.

Μια ενότητα Παράμετροι ροής δεδομένων μπορεί να αναπτυχθεί για να σας δείξει όλες τις διαθέσιμες παραμέτρους στη ροή δεδομένων και τις προεπιλεγμένες τιμές τους. Μπορείτε να αντικαταστήσετε οποιεσδήποτε τιμές εδώ και οι τιμές που μεταβιβάζονται θα χρησιμοποιηθούν για τον καθορισμό των προελεύσεων, της λογικής και του προορισμού που θα πρέπει να χρησιμοποιηθούν για την αξιολόγηση της εκτέλεσης της ροής δεδομένων σας. Μπορείτε επίσης να δοκιμάσετε νέα σενάρια δημιουργώντας μια νέα αποθήκη και αλλάζοντας το WarehouseId για την αξιολόγηση ή χρησιμοποιώντας αυτό το μοτίβο σε μια διοχέτευση ανάπτυξης όπου το WorkspaceId και άλλες παράμετροι πρέπει να μεταβιβαστούν για να παραπέμψουν στα σωστά στοιχεία στο αντίστοιχο περιβάλλον.