Εκπαιδευτικό βοήθημα, Μέρος 1: Πρόσληψη δεδομένων σε μια λίμνη Microsoft Fabric χρησιμοποιώντας Apache Spark
Σε αυτό το εκπαιδευτικό βοήθημα, θα αποκτήσετε δεδομένα σε λίμνες Fabric σε μορφή λίμνης δέλτα. Ορισμένοι σημαντικοί όροι για να κατανοήσετε:
Lakehouse - Ένα lakehouse είναι μια συλλογή από αρχεία/ φακέλους / πίνακες που αντιπροσωπεύουν μια βάση δεδομένων πάνω από μια λίμνη δεδομένων που χρησιμοποιείται από τον μηχανισμό Spark και τη μηχανή SQL για επεξεργασία μεγάλου όγκου δεδομένων και αυτό περιλαμβάνει βελτιωμένες δυνατότητες για συναλλαγές ACID όταν χρησιμοποιείτε πίνακες με μορφοποίηση Delta ανοιχτού κώδικα.
Delta Lake - Το Delta Lake είναι ένα επίπεδο αποθήκευσης ανοιχτού κώδικα που φέρνει συναλλαγές ACID, διαχείριση μετα-δεδομένων με δυνατότητα κλιμάκωσης και επεξεργασία δεδομένων δέσμης και ροής στο Apache Spark. Ένας πίνακας Delta Lake είναι μια μορφή πίνακα δεδομένων που επεκτείνει τα αρχεία δεδομένων Parquet με ένα αρχείο καταγραφής συναλλαγών για συναλλαγές ACID και διαχείριση μετα-δεδομένων με δυνατότητα κλιμάκωσης.
τα Ανοιχτά σύνολα δεδομένων Azure είναι επιμελημένα δημόσια σύνολα δεδομένων που μπορείτε να χρησιμοποιήσετε για να προσθέσετε δυνατότητες για συγκεκριμένα σενάρια σε λύσεις εκμάθησης μηχανής για πιο ακριβή μοντέλα. Τα ανοιχτά σύνολα δεδομένων βρίσκονται στο cloud στον χώρο αποθήκευσης Microsoft Azure και μπορείτε να αποκτήσετε πρόσβαση από διάφορες μεθόδους, όπως το Apache Spark, το REST API, το εργοστάσιο δεδομένων και άλλα εργαλεία.
Σε αυτή την εκμάθηση, μπορείτε να χρησιμοποιήσετε το Apache Spark για να κάνετε τα εξής:
- Διαβάστε δεδομένα από κοντέινερ Azure Open Datasets.
- Γράψτε δεδομένα σε έναν πίνακα δέλτα σε μια λίμνη Fabric.
Προϋποθέσεις
Λάβετε μια συνδρομής Microsoft Fabric . Εναλλακτικά, εγγραφείτε για μια δωρεάν δοκιμαστική έκδοση microsoft Fabric.
Εισέλθετε για να το Microsoft Fabric.
Χρησιμοποιήστε την εναλλαγή εμπειρίας στην κάτω αριστερή πλευρά της αρχικής σελίδας σας για να μεταβείτε σε Fabric.
- Προσθέστε ένα lakehouse σε αυτό το σημειωματάριο. Θα κάνετε λήψη δεδομένων από ένα δημόσιο αντικείμενο blob και, στη συνέχεια, θα αποθηκεύονται τα δεδομένα στο lakehouse.
Παρακολούθηση στο σημειωματάριο
1-ingest-data.ipynb είναι το σημειωματάριο που συνοδεύει αυτό το πρόγραμμα εκμάθησης.
Για να ανοίξετε το σημειωματάριο που συνοδεύει αυτό το εκπαιδευτικό βοήθημα, ακολουθήστε τις οδηγίες στο Προετοιμασία του συστήματός σας για εκπαιδευτικά βοηθήματα επιστήμης δεδομένων, να εισαγάγετε το σημειωματάριο στον χώρο εργασίας σας.
Εάν προτιμάτε να αντιγράψετε και να επικολλήσετε τον κώδικα από αυτήν τη σελίδα, μπορείτε να δημιουργήσετε ένα νέο σημειωματάριο.
Βεβαιωθείτε ότι επισυνάψετε μια λίμνη στο σημειωματάριο προτού ξεκινήσετε την εκτέλεση κώδικα.
Δεδομένα απώλειας τραπεζών
Το σύνολο δεδομένων περιέχει κατάσταση απώλειας 10.000 πελατών. Περιλαμβάνει επίσης χαρακτηριστικά που θα μπορούσαν να επηρεάσουν την απώλεια, όπως:
- Πιστωτικό αποτέλεσμα
- Γεωγραφική θέση (Γερμανία, Γαλλία, Ισπανία)
- Φύλο (άνδρας, γυναίκα)
- Ηλικία
- Διάρκεια (έτη ως πελάτης τράπεζας)
- Υπόλοιπο λογαριασμού
- Εκτιμώμενος μισθός
- Ο αριθμός των προϊόντων που έχει αγοράσει ένας πελάτης μέσω της τράπεζας
- Κατάσταση πιστωτικής κάρτας (είτε ένας πελάτης έχει πιστωτική κάρτα είτε όχι)
- Κατάσταση ενεργού μέλους (είτε είναι πελάτης μιας ενεργής τράπεζας είτε όχι)
Το σύνολο δεδομένων περιλαμβάνει επίσης στήλες όπως τον αριθμό γραμμής, το αναγνωριστικό πελάτη και το επώνυμο πελάτη που δεν θα πρέπει να έχουν καμία επίδραση στην απόφαση του πελάτη να αποχωρήσει από την τράπεζα.
Το συμβάν που καθορίζει την απώλεια του πελάτη είναι το κλείσιμο του τραπεζικού λογαριασμού του πελάτη. Η στήλη exited
στο σύνολο δεδομένων αναφέρεται στην εγκατάλειψη του πελάτη. Δεν υπάρχουν πολλά διαθέσιμα περιβάλλοντα σχετικά με αυτά τα χαρακτηριστικά, επομένως πρέπει να συνεχίσετε χωρίς να έχετε πληροφορίες ιστορικού σχετικά με το σύνολο δεδομένων. Ο στόχος είναι να κατανοήσετε πώς αυτά τα χαρακτηριστικά συμβάλλουν στην κατάσταση exited
.
Παράδειγμα γραμμών από το σύνολο δεδομένων:
"CustomerID" | "Surname" | "CreditScore" | "Γεωγραφία" | "Φύλο" | "Ηλικία" | "Διάρκεια" | "Υπόλοιπο" | "NumOfProducts" | "HasCrCard" | "IsActiveMember" | "Εκτιμώμενηalary" | "Εξοδος" |
---|---|---|---|---|---|---|---|---|---|---|---|---|
15634602 | Χάργκρεϊβ | 619 | Γαλλία | Θηλυκός | 42 | 2 | 0.00 | 1 | 1 | 1 | 101348.88 | 1 |
15647311 | Λόφος | 608 | Ισπανία | Θηλυκός | 41 | 1 | 83807.86 | 1 | 0 | 1 | 112542.58 | 0 |
Λήψη συνόλου δεδομένων και αποστολή στο Lakehouse
Φιλοδώρημα
Ορίζοντας τις ακόλουθες παραμέτρους, μπορείτε να χρησιμοποιήσετε εύκολα αυτό το σημειωματάριο με διαφορετικά σύνολα δεδομένων.
IS_CUSTOM_DATA = False # if TRUE, dataset has to be uploaded manually
DATA_ROOT = "/lakehouse/default"
DATA_FOLDER = "Files/churn" # folder with data files
DATA_FILE = "churn.csv" # data file name
Αυτός ο κώδικας κάνει λήψη μιας δημόσια διαθέσιμης έκδοσης του συνόλου δεδομένων και, στη συνέχεια, τον αποθηκεύει σε μια λίμνη Fabric.
Σημαντικός
Βεβαιωθείτε ότι προσθέσετε μια lakehouse στο σημειωματάριο πριν την εκτελέσετε. Εάν δεν το κάνετε αυτό, θα παρουσιαστεί σφάλμα.
import os, requests
if not IS_CUSTOM_DATA:
# Download demo data files into lakehouse if not exist
remote_url = "https://synapseaisolutionsa.blob.core.windows.net/public/bankcustomerchurn"
file_list = [DATA_FILE]
download_path = f"{DATA_ROOT}/{DATA_FOLDER}/raw"
if not os.path.exists("/lakehouse/default"):
raise FileNotFoundError(
"Default lakehouse not found, please add a lakehouse and restart the session."
)
os.makedirs(download_path, exist_ok=True)
for fname in file_list:
if not os.path.exists(f"{download_path}/{fname}"):
r = requests.get(f"{remote_url}/{fname}", timeout=30)
with open(f"{download_path}/{fname}", "wb") as f:
f.write(r.content)
print("Downloaded demo data files into lakehouse.")
Σχετικό περιεχόμενο
Θα χρησιμοποιήσετε τα δεδομένα στα οποία μόλις προσλάβετε: