Κοινή χρήση μέσω


Οδηγός Real-Time Intelligence μέρος 4: Μετασχηματισμός δεδομένων σε μια βάση δεδομένων KQL

Σημείωση

Αυτό το σεμινάριο είναι μέρος μιας σειράς. Για την προηγούμενη ενότητα, ανατρέξτε στο θέμα: Πρόγραμμα εκμάθησηςReal-Time Intelligence μέρος 3: Ορισμός ειδοποίησης στη ροή συμβάντων.

Σε αυτό το μέρος του προγράμματος εκμάθησης, θα μάθετε πώς μπορείτε να χρησιμοποιήσετε μια πολιτική ενημέρωσης για να μετασχηματίσετε δεδομένα σε μια βάση δεδομένων KQL στο Real-Time Intelligence. Οι πολιτικές ενημέρωσης είναι μηχανισμοί αυτοματοποίησης που ενεργοποιούνται όταν εγγράφονται νέα δεδομένα σε έναν πίνακα. Εξαλείφουν την ανάγκη για ειδική ενορχήστρωση εκτελώντας ένα ερώτημα για τον μετασχηματισμό των δεδομένων που έχουν προσληφθεί και την αποθήκευση του αποτελέσματος σε έναν πίνακα προορισμού. Μπορούν να οριστούν πολλαπλές πολιτικές ενημέρωσης σε έναν μόνο πίνακα, επιτρέποντας διαφορετικούς μετασχηματισμούς και αποθήκευση δεδομένων σε πολλούς πίνακες ταυτόχρονα. Οι πίνακες προορισμού μπορούν να έχουν διαφορετικό σχήμα, πολιτική διατήρησης και άλλες πολιτικές από τον πίνακα προέλευσης.

Μετακίνηση πίνακα ανεπεξέργαστων δεδομένων σε χάλκινο φάκελο

Σε αυτό το βήμα, μετακινείτε τον πίνακα ανεπεξέργαστων δεδομένων σε έναν φάκελο Bronze για να οργανώσετε τα δεδομένα στη βάση δεδομένων KQL.

  1. Περιηγηθείτε στον χώρο εργασίας σας.

  2. Επιλέξτε τη βάση δεδομένων KQL που δημιουργήσατε σε ένα προηγούμενο βήμα, με το όνομα Εκμάθηση.

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

  3. Στο δέντρο αντικειμένων, κάτω από το όνομα της βάσης δεδομένων KQL, επιλέξτε τον χώρο εργασίας ερωτήματος που ονομάζεται Tutorial_queryset.

  4. Αντιγράψτε/επικολλήστε και εκτελέστε την ακόλουθη εντολή στο πρόγραμμα επεξεργασίας ερωτημάτων για να μετακινήσετε τον πίνακα σε έναν φάκελο Bronze. Μπορείτε να εκτελέσετε το ερώτημα επιλέγοντας το κουμπί Εκτέλεση από την κορδέλα μενού ή πατώντας Shift + Enter.

    .alter table RawData (BikepointID:string,Street:string,Neighbourhood:string,Latitude:real,Longitude:real,No_Bikes:long,No_Empty_Docks:long,Timestamp:datetime) with (folder="Bronze")
    

Δημιουργία πίνακα προορισμού

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

  1. Σε μια νέα γραμμή, με τουλάχιστον μία γραμμή μεταξύ του δρομέα και του τελευταίου ερωτήματος, αντιγράψτε/επικολλήστε την ακόλουθη εντολή για να δημιουργήσετε έναν νέο πίνακα που ονομάζεται TransformedData με ένα καθορισμένο σχήμα.

    .create table TransformedData (BikepointID: int, Street: string, Neighbourhood: string, Latitude: real, Longitude: real, No_Bikes: long, No_Empty_Docks: long, Timestamp: datetime, BikesToBeFilled: long, Action: string) with (folder="Silver")
    
  2. Εκτελέστε την εντολή για να δημιουργήσετε τον πίνακα. Θα πρέπει τώρα να δείτε έναν άλλο πίνακα κάτω από τον κόμβο Πίνακες στο δέντρο αντικειμένων που ονομάζεται TransformedData.

Δημιουργία συνάρτησης με λογική μετασχηματισμού

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

  1. Από την κορδέλα μενού, επιλέξτε Βάση δεδομένων.

  2. Επιλέξτε +Νέα>λειτουργία.

  3. Επεξεργαστείτε τη συνάρτηση έτσι ώστε να ταιριάζει με τον ακόλουθο κώδικα ή αντιγράψτε/επικολλήστε την ακόλουθη εντολή στο πρόγραμμα επεξεργασίας ερωτημάτων.

    .create-or-alter function TransformRawData() {
    RawData
    | parse BikepointID with * "BikePoints_" BikepointID:int
    | extend BikesToBeFilled = No_Empty_Docks - No_Bikes
    | extend Action = iff(BikesToBeFilled > 0, tostring(BikesToBeFilled), "NA")
     }
    
  4. Εκτελέστε την εντολή για να δημιουργήσετε τη συνάρτηση. Θα πρέπει τώρα να δείτε τη συνάρτηση TransformRawData κάτω από τον κόμβο Συναρτήσεις στο δέντρο αντικειμένων.

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

Σε αυτό το βήμα, εφαρμόζετε μια πολιτική ενημέρωσης στον πίνακα προορισμού για να μετασχηματίσετε τα δεδομένα. Η πολιτική ενημέρωσης χρησιμοποιεί την αποθηκευμένη συνάρτηση TransformRawData() για να αναλύσει τη στήλη BikepointID και προσθέτει δύο νέες υπολογιζόμενες στήλες.

  1. Από την κορδέλα μενού, επιλέξτε Βάση δεδομένων.

  2. Επιλέξτε + Νέα>πολιτική ενημέρωσης πίνακα.

  3. Επεξεργαστείτε την πολιτική έτσι ώστε να συμφωνεί με τον ακόλουθο κώδικα ή αντιγράψτε/επικολλήστε την ακόλουθη εντολή στο πρόγραμμα επεξεργασίας ερωτημάτων.

    .alter table TransformedData policy update
    ```[{
        "IsEnabled": true,
        "Source": "RawData",
        "Query": "TransformRawData()",
        "IsTransactional": false,
        "PropagateIngestionProperties": false
    }]```
    
  4. Εκτελέστε την εντολή για να δημιουργήσετε την πολιτική ενημέρωσης.

Επαλήθευση μετασχηματισμού

Σε αυτό το βήμα, επαληθεύετε ότι ο μετασχηματισμός ήταν επιτυχής συγκρίνοντας το αποτέλεσμα από τους πίνακες προέλευσης και προορισμού.

Σημείωση

Μπορεί να χρειαστούν μερικά δευτερόλεπτα για να δείτε δεδομένα στον μετασχηματισμένο πίνακα.

  1. Αντιγράψτε/επικολλήστε το παρακάτω ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων για να προβάλετε 10 αυθαίρετες εγγραφές στον πίνακα προέλευσης. Εκτελέστε το ερώτημα.

    RawData
    | take 10
    
  2. Αντιγράψτε/επικολλήστε το παρακάτω ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων για να προβάλετε 10 αυθαίρετες εγγραφές στον πίνακα προορισμού. Εκτελέστε το ερώτημα.

    TransformedData
    | take 10
    

Σημειώστε ότι η στήλη BikepointID στον πίνακα προορισμού δεν περιέχει πλέον το πρόθεμα "BikePoints_".

Για περισσότερες πληροφορίες σχετικά με τις εργασίες που εκτελούνται σε αυτό το πρόγραμμα εκμάθησης, ανατρέξτε στο θέμα:

Επόμενο βήμα