Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Σημείωμα
Αυτό το άρθρο εστιάζει σε μια αρχιτεκτονική λύσης από αρχιτεκτονικές λύσεων CI/CD και ALM (Application Lifecycle Management) για το Dataflow Gen2 που βασίζεται στην ενοποίηση των βιβλιοθηκών μεταβλητών και ισχύει μόνο για το Dataflow Gen2 με υποστήριξη CI/CD.
Οι βιβλιοθήκες μεταβλητών Fabric στο Dataflow Gen2 επιτρέπουν την κεντρική, επαναχρησιμοποιήσιμη διαχείριση ρύθμισης παραμέτρων σε όλα τα περιβάλλοντα. Με την αναφορά μεταβλητών απευθείας στις δέσμες ενεργειών ροής δεδομένων σας, μπορείτε να προσαρμόσετε δυναμικά τη συμπεριφορά χωρίς τιμές εσωτερικής κωδικοποίησης, κάτι που είναι ιδανικό για ροές εργασιών CI/CD. Αυτή η ενοποίηση απλοποιεί την ανάπτυξη σε όλα τα στάδια, επιτρέποντας την εισαγωγή τιμών για συγκεκριμένους χώρους εργασίας (όπως Lakehouse ή αναγνωριστικά χώρου εργασίας) κατά τον χρόνο εκτέλεσης, καθιστώντας τις ροές δεδομένων σας πιο προσαρμόσιμες και διατηρήσιμες.
Αυτό το εκπαιδευτικό βοήθημα σάς καθοδηγεί σε ένα παράδειγμα λύσης που χρησιμοποιεί αναφορές μεταβλητών σε μια ροή δεδομένων και σας δείχνει πώς μπορείτε να κάνετε τα εξής:
- Ορισμός μεταβλητών: Χρήση των βιβλιοθηκών μεταβλητών Fabric και των διακριτών τύπων δεδομένων τους
- Προέλευση βάσει μεταβλητών: Χρήση ενός Lakehouse με το δείγμα συνόλου δεδομένων WideWorldImpoters ως προέλευση
- Λογική βάσει μεταβλητών: Χρήση των γραφικών στοιχείων εισόδου που είναι διαθέσιμα σε όλη την εμπειρία ροής δεδομένων
- Προορισμός βάσει μεταβλητών: Χρήση αποθήκης ως προορισμού
Σημείωμα
Οι έννοιες που παρουσιάζονται σε αυτό το άρθρο είναι καθολικές για το Dataflow Gen2 και ισχύουν για άλλες προελεύσεις και προορισμούς πέρα από αυτούς που εμφανίζονται εδώ.
Το σενάριο
Η ροή δεδομένων που χρησιμοποιείται σε αυτό το σενάριο είναι απλή, αλλά οι βασικές αρχές που περιγράφονται ισχύουν για όλους τους τύπους ροών δεδομένων. Συνδέεται με τον πίνακα με το όνομα dimension_city από το δείγμα συνόλου δεδομένων Wide World Importers που είναι αποθηκευμένο σε ένα Lakehouse. Φιλτράρει τις γραμμές όπου η στήλη SalesTerritory ισούται με Νοτιοανατολικά και φορτώνει το αποτέλεσμα σε έναν νέο πίνακα που ονομάζεται Πόλη σε μια αποθήκη. Όλα τα στοιχεία—το Lakehouse, η Αποθήκη και η Ροή δεδομένων—βρίσκονται στον ίδιο χώρο εργασίας. Για να κάνετε τη ροή δεδομένων δυναμική, χρησιμοποιείτε μεταβλητές για να καθοδηγήσετε τον πίνακα προέλευσης, την τιμή φίλτρου και τον πίνακα προορισμού. Αυτές οι αλλαγές επιτρέπουν στη ροή δεδομένων να εκτελείται με τιμές αποθηκευμένες σε βιβλιοθήκες μεταβλητών Fabric αντί για ενσωματωμένες στον κώδικα.
Ορισμός μεταβλητών
Σημείωμα
Βεβαιωθείτε ότι έχετε ενεργοποιήσει τις βιβλιοθήκες μεταβλητών Fabric για τον οργανισμό ή την ομάδα ασφαλείας σας. Μάθετε περισσότερα σχετικά με το πώς μπορείτε να ξεκινήσετε με τις βιβλιοθήκες μεταβλητών.
Ως βέλτιστη πρακτική, συνιστάται πάντα να έχετε υπόψη σας ένα σχέδιο πριν δημιουργήσετε μια λύση και ποια στοιχεία από τη ροή δεδομένων σας προέρχονται δυναμικά από μια βιβλιοθήκη μεταβλητών. Παρόλο που μπορείτε να δημιουργήσετε πολλές βιβλιοθήκες μέσα σε έναν χώρο εργασίας, αυτό το παράδειγμα χρησιμοποιεί μία μόνο βιβλιοθήκη με το όνομα Η βιβλιοθήκη μου που περιέχει τις μεταβλητές που χρησιμοποιεί η ροή δεδομένων Gen2:
| Όνομα μεταβλητής | Δακτυλογραφώ | Σκοπός |
|---|---|---|
| WorkspaceId | Guid | Χρησιμοποιείται για τις δέσμες ενεργειών προέλευσης δεδομένων και προορισμού στη ροή δεδομένων |
| LakehouseId | Guid | Καθορίζει το αναγνωριστικό του Lakehouse που χρησιμοποιείται ως προέλευση |
| Αναγνωριστικό αποθήκης | Guid | Καθορίζει το αναγνωριστικό της Αποθήκης που χρησιμοποιείται ως προορισμός |
| Έδαφος | Συμβλοσειρά | Ορίζει την τιμή που θα πρέπει να χρησιμοποιηθεί για την καθοδήγηση της λογικής φίλτρου στη ροή δεδομένων |
Βεβαιωθείτε ότι έχετε ορίσει τις προεπιλεγμένες τιμές που αντιστοιχούν στο δικό σας περιβάλλον και, στη συνέχεια, αποθηκεύστε τη βιβλιοθήκη μεταβλητών.
Πηγή βάσει μεταβλητών
Όταν χρησιμοποιείτε οποιαδήποτε από τις συνδέσεις Fabric, όπως Lakehouse, Warehouse ή Fabric SQL, όλες ακολουθούν την ίδια δομή περιήγησης και χρησιμοποιούν την ίδια μορφή εισόδου. Σε αυτό το σενάριο, καμία από τις υποδοχές δεν απαιτεί μη αυτόματη εισαγωγή για τη δημιουργία σύνδεσης. Ωστόσο, κάθε μία εμφανίζει τον χώρο εργασίας και το στοιχείο με τα οποία συνδέεται μέσω των βημάτων περιήγησης στο ερώτημά σας. Για παράδειγμα, το πρώτο βήμα περιήγησης περιλαμβάνει το workspaceId με το οποίο συνδέεται το ερώτημα.
Ο στόχος είναι να αντικαταστήσετε τις ενσωματωμένες τιμές στη γραμμή τύπων με μεταβλητές. Συγκεκριμένα, θέλετε να χρησιμοποιήσετε τις μεταβλητές WorkspaceId και LakehouseId για να οδηγήσετε αυτήν τη λογική. Πρώτα, πρέπει να φέρετε αυτές τις μεταβλητές στη ροή δεδομένων Gen2. Μια προτεινόμενη προσέγγιση είναι να δημιουργήσετε ερωτήματα για κάθε ξεχωριστή μεταβλητή για να συγκεντρώσετε και να διαχειριστείτε εύκολα τυχόν μεταβλητές που σκοπεύετε να χρησιμοποιήσετε. Για να το κάνετε αυτό, δημιουργήστε ένα κενό ερώτημα μεταβαίνοντας στην καταχώρηση Λήψη δεδομένων στην κορδέλα και επιλέγοντας την επιλογή Κενό ερώτημα από το αναπτυσσόμενο μενού.
Αυτή η επιλογή φέρνει ένα νέο παράθυρο διαλόγου όπου μπορείτε να δείτε το κενό ερώτημα που δημιουργείται. Μπορείτε να επιλέξετε OK για να φέρετε αυτό το νέο κενό ερώτημα.
Αφού δημιουργηθεί το ερώτημά σας και εμφανιστεί στη ροή δεδομένων, μετονομάστε το σε WorkspaceId και αντικαταστήστε τον τύπο στο βήμα Προέλευση ως εξής:
Variable.ValueOrDefault("$(/**/My Library/WorkspaceId)", "Your Workspace ID")
Αυτό το σενάριο είναι βασικά αυτό που μπορεί να καθορίσει ποια βιβλιοθήκη και μεταβλητή θα ανακτήσει. Το δεύτερο όρισμα της Variable.ValueOrDefault συνάρτησης καθορίζει ποια τιμή θα δοθεί όταν δεν είναι δυνατή η λήψη μιας μεταβλητής.
Σημείωμα
Βεβαιωθείτε ότι έχετε αντικαταστήσει τη συμβολοσειρά "Your Workspace ID", το δεύτερο όρισμα της συνάρτησης, με τη δική σας αντίστοιχη τιμή στο περιβάλλον σας και αποθηκεύστε το ερώτημα.
Επαναλάβετε αυτήν τη διαδικασία για τη μεταβλητή LakehouseId και δημιουργήστε ένα ερώτημα με το ίδιο όνομα με τη μεταβλητή, αλλά χρησιμοποιήστε τον ακόλουθο τύπο για το βήμα Προέλευση:
Variable.ValueOrDefault("$(/**/My Library/LakehouseId)", "Your Lakehouse ID")
Σημείωμα
Βεβαιωθείτε ότι έχετε αντικαταστήσει τη συμβολοσειρά "Your Lakehouse ID", το δεύτερο όρισμα της συνάρτησης, με τη δική σας αντίστοιχη τιμή στο περιβάλλον σας και αποθηκεύστε το ερώτημα.
Μόλις δημιουργηθούν και τα δύο ερωτήματα, μπορείτε να ενημερώσετε τη δέσμη ενεργειών ερωτήματος για να τα χρησιμοποιήσετε αντί για τιμές με ενσωματωμένο κώδικα. Αυτό περιλαμβάνει τη μη αυτόματη αντικατάσταση των αρχικών τιμών στη γραμμή τύπων με αναφορές στα ερωτήματα WorkspaceId και 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 και να αλλάξετε επίσης το όνομα του ερωτήματος στο όνομα της μεταβλητής. Χρησιμοποιήστε το ακόλουθο σενάριο:
Variable.ValueOrDefault("$(/**/My Library/Territory)", "Mideast")
Δεδομένου ότι το βήμα φίλτρου δημιουργήθηκε χρησιμοποιώντας τη διεπαφή χρήστη, μπορείτε να μεταβείτε στο βήμα Φιλτραρισμένες σειρές, να το επιλέξετε δύο φορές και να λάβετε το παράθυρο διαλόγου ρυθμίσεων για το βήμα φίλτρου. Αυτός ο διάλογος σας επιτρέπει να επιλέξετε, μέσω του μικροεργαλείου εισαγωγής, εάν θέλετε να χρησιμοποιήσετε ένα ερώτημα αντί για μια στατική τιμή:
Αφού ορίσετε την επιλογή Επιλογή ερωτήματος, θα εμφανιστεί μια αναπτυσσόμενη λίστα που θα εμφανίζει όλα τα ερωτήματα από τα οποία μπορείτε να επιλέξετε. Από αυτήν τη λίστα, μπορείτε να επιλέξετε το ερώτημα Territory που μόλις δημιουργήσατε.
Αφού επιλέξετε OK, παρατηρήστε ότι η προβολή διαγράμματος δημιούργησε ήδη τη σύνδεση μεταξύ του ερωτήματος Territory και του ερωτήματος που χρησιμοποιείται. Όχι μόνο αυτό, αλλά η προεπισκόπηση δεδομένων σάς δείχνει τώρα πληροφορίες για την επικράτεια της Μέσης Ανατολής .
Προορισμός βάσει μεταβλητών
Σημείωμα
Συνιστάται να εξοικειωθείτε με την έννοια των προορισμών δεδομένων στο Dataflow Gen2 και τον τρόπο δημιουργίας της δέσμης ενεργειών συνδυασμού δεδομένων από το άρθρο σχετικά με τους προορισμούς δεδομένων και τις διαχειριζόμενες ρυθμίσεις
Το τελευταίο στοιχείο που πρέπει να τροποποιηθεί σε αυτό το σενάριο είναι ο προορισμός. Ενώ οι πληροφορίες σχετικά με το ποιος είναι ο προορισμός δεδομένων μπορούν να βρεθούν στο πρόγραμμα επεξεργασίας ροής δεδομένων, για να τροποποιήσετε αυτό το τμήμα της ροής δεδομένων πρέπει να χρησιμοποιήσετε το Git ή το REST API.
Αυτό το εκπαιδευτικό βοήθημα μας δείχνει πώς να κάνουμε τις αλλαγές μέσω του Git. Για να μπορέσουμε να κάνουμε αλλαγές μέσω του git, βεβαιωθείτε ότι:
- Δημιουργήστε ένα ερώτημα για τη μεταβλητή WarehouseId: ακολουθήστε την ίδια διαδικασία που περιγράφεται σε προηγούμενες ενότητες για να δημιουργήσετε ένα νέο κενό ερώτημα και να αντικαταστήσετε τον τύπο για το βήμα Προέλευση να είναι:
Variable.ValueOrDefault("$(/**/My Library/WarehouseId)", "Your Warehouse ID")
Σημείωμα
Βεβαιωθείτε ότι έχετε αντικαταστήσει τη συμβολοσειρά "Your Warehouse ID", το δεύτερο όρισμα της συνάρτησης, με τη δική σας αντίστοιχη τιμή στο περιβάλλον σας και αποθηκεύστε το ερώτημα.
Σημαντικό
Βεβαιωθείτε ότι όλα τα ερωτήματά σας που περιέχουν μια μεταβλητή έχουν απενεργοποιημένη την προεργασία.
- Αποθήκευση της ροής δεδομένων: χρησιμοποιήστε το κουμπί Αποθήκευση στην αρχική καρτέλα της κορδέλας.
Μόλις αποθηκευτεί η ροή δεδομένων σας, βεβαιωθείτε ότι έχετε πραγματοποιήσει τις αλλαγές στο αποθετήριο 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
Τώρα μπορείτε να πραγματοποιήσετε αυτήν την αλλαγή και να ενημερώσετε τη ροή δεδομένων σας χρησιμοποιώντας τις αλλαγές από τη ροή δεδομένων σας μέσω της δυνατότητας ελέγχου προέλευσης στον χώρο εργασίας σας.
Τώρα μπορείτε να εκτελέσετε τη ροή δεδομένων σας, η οποία χρησιμοποιεί τιμές από βιβλιοθήκες μεταβλητών.