Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Σε αυτήν τη γρήγορη εκκίνηση, χρησιμοποιείτε το Jupyter Notebook στον κώδικα του Visual Studio για να αντλήσετε γρήγορα επιχειρηματικές πληροφορίες. Χρησιμοποιείτε το πρόγραμμα οδήγησης για την mssql-python Python για να συνδεθείτε στη βάση δεδομένων SQL στο Fabric και να διαβάσετε τα δεδομένα που στη συνέχεια μορφοποιούνται για χρήση σε μηνύματα ηλεκτρονικού ταχυδρομείου, αναφορές, παρουσιάσεις κ.λπ.
Το mssql-python πρόγραμμα οδήγησης δεν απαιτεί εξωτερικές εξαρτήσεις σε μηχανήματα Windows. Το πρόγραμμα οδήγησης εγκαθιστά όλα όσα χρειάζεται με μία μόνο pip εγκατάσταση, επιτρέποντάς σας να χρησιμοποιήσετε την πιο πρόσφατη έκδοση του προγράμματος οδήγησης για νέα σενάρια χωρίς να σπάσετε άλλα σενάρια που δεν έχετε χρόνο να αναβαθμίσετε και να δοκιμάσετε.
Τεκμηρίωση | Πηγαίος κώδικας | Πακέτο (PyPi) | Κώδικας Visual Studio
Προϋποθέσεις
Φορτώστε δείγματα δεδομένων της AdventureWorks στη βάση δεδομένων SQL.
Πύθωνας 3
Εάν δεν έχετε ήδη Python, εγκαταστήστε τον χρόνο εκτέλεσης Python και τη διαχείριση πακέτων pip από python.org.
Δεν θέλετε να χρησιμοποιήσετε το δικό σας περιβάλλον; Ανοίξτε ως devcontainer χρησιμοποιώντας χώρους κώδικα GitHub.
Κώδικας του Visual Studio με τις ακόλουθες επεκτάσεις:
Azure Command-Line Interface (CLI) - Συνιστάται για έλεγχο ταυτότητας macOS και Linux.
Εάν δεν έχετε
uvήδη , εγκαταστήστεuvακολουθώντας τις οδηγίες από https://docs.astral.sh/uv/getting-started/installation/το .Εγκαταστήστε εφάπαξ προαπαιτούμενα για το λειτουργικό σύστημα.
Δημιουργήστε το έργο και εκτελέστε τον κώδικα
- Δημιουργία νέου έργου
- Προσθήκη εξαρτήσεων
- Εκκινήστε τον κώδικα του Visual Studio
- Ενημέρωση pyproject.toml
- Αποθήκευση της συμβολοσειράς σύνδεσης
- Δημιουργήστε ένα σημειωματάριο Jupyter
- Εμφάνιση αποτελεσμάτων σε πίνακα
- Εμφάνιση αποτελεσμάτων σε γράφημα
Δημιουργία νέου έργου
Ανοίξτε μια γραμμή εντολών στον κατάλογο ανάπτυξης. Εάν δεν έχετε, δημιουργήστε έναν νέο κατάλογο που ονομάζεται
python,scripts, κ.λπ. Αποφύγετε φακέλους στο OneDrive σας, ο συγχρονισμός μπορεί να επηρεάσει τη διαχείριση του εικονικού σας περιβάλλοντος.Δημιουργήστε ένα νέο έργο με
uvτο .uv init jupyter-notebook-qs cd jupyter-notebook-qs
Προσθήκη εξαρτήσεων
Στον ίδιο κατάλογο, εγκαταστήστε τα mssql-pythonπακέτα , python-dotenv, rich, pandasκαι matplotlib . Στη συνέχεια, προσθέστε ipykernel και uv ως εξαρτήσεις προγραμματιστή. Το VS Code απαιτεί ipykernel και uv προστίθενται για να μπορείτε να αλληλεπιδράτε uv μέσα από τα κελιά του σημειωματαρίου σας χρησιμοποιώντας εντολές όπως !uv add mssql_python.
uv add mssql_python dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Εκκινήστε τον κώδικα του Visual Studio
Στον ίδιο κατάλογο, εκτελέστε την ακόλουθη εντολή.
code .
Ενημέρωση pyproject.toml
Το pyproject.toml περιέχει τα μεταδεδομένα για το έργο σας.
Ενημερώστε την περιγραφή για να είναι πιο περιγραφική.
description = "A quick example using the mssql-python driver and Jupyter Notebooks."Αποθηκεύστε και κλείστε το αρχείο.
Αποθήκευση της συμβολοσειράς σύνδεσης
Ανοίξτε το
.gitignoreαρχείο και προσθέστε μια εξαίρεση για.envαρχεία. Το αρχείο σας θα πρέπει να είναι παρόμοιο με αυτό το παράδειγμα. Φροντίστε να το αποθηκεύσετε και να το κλείσετε όταν τελειώσετε.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envΣτον τρέχοντα κατάλογο, δημιουργήστε ένα νέο αρχείο με το όνομα
.env.Μέσα στο αρχείο, προσθέστε μια καταχώρηση για τη
.envσυμβολοσειρά σύνδεσης με το όνομαSQL_CONNECTION_STRING. Αντικαταστήστε το παράδειγμα εδώ με την πραγματική τιμή συμβολοσειράς σύνδεσης.SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryDefault"Φιλοδώρημα
Για τη βάση δεδομένων SQL στο Fabric, χρησιμοποιήστε τη συμβολοσειρά σύνδεσης ODBC από την καρτέλα συμβολοσειρών σύνδεσης χωρίς τις πληροφορίες DRIVER .
Δημιουργήστε ένα σημειωματάριο Jupyter
Επιλέξτε Αρχείο και, στη συνέχεια, Νέο αρχείο και Σημειωματάριο Jupyter από τη λίστα. Ανοίγει ένα νέο σημειωματάριο.
Επιλέξτε Αρχείο και, στη συνέχεια, Αποθήκευση ως... και δώστε ένα όνομα στο νέο σας σημειωματάριο.
Προσθέστε τις ακόλουθες εισαγωγές στο πρώτο κελί.
from os import getenv from mssql_python import connect from dotenv import load_dotenv from rich.console import Console from rich.table import Table import pandas as pd import matplotlib.pyplot as pltΧρησιμοποιήστε το κουμπί + Markdown στο επάνω μέρος του σημειωματαρίου για να προσθέσετε ένα νέο κελί σήμανσης.
Προσθέστε το παρακάτω κείμενο στο νέο κελί σήμανσης.
## Define queries for use laterΕπιλέξτε το σημάδι ελέγχου στη γραμμή εργαλείων του κελιού ή χρησιμοποιήστε τις συντομεύσεις
Ctrl+Enterπληκτρολογίου ήShift+Enterγια να αποδώσετε το κελί σήμανσης.Χρησιμοποιήστε το κουμπί + Κωδικός στο επάνω μέρος του σημειωματαρίου για να προσθέσετε ένα νέο κελί κωδικού.
Προσθέστε τον ακόλουθο κώδικα στο νέο κελί κωδικού.
SQL_QUERY_ORDERS_BY_CUSTOMER = """ SELECT TOP 5 c.CustomerID, c.CompanyName, COUNT(soh.SalesOrderID) AS OrderCount FROM SalesLT.Customer AS c LEFT OUTER JOIN SalesLT.SalesOrderHeader AS soh ON c.CustomerID = soh.CustomerID GROUP BY c.CustomerID, c.CompanyName ORDER BY OrderCount DESC; """ SQL_QUERY_SPEND_BY_CATEGORY = """ select top 10 pc.Name as ProductCategory, SUM(sod.OrderQty * sod.UnitPrice) as Spend from SalesLT.SalesOrderDetail sod inner join SalesLT.SalesOrderHeader soh on sod.salesorderid = soh.salesorderid inner join SalesLT.Product p on sod.productid = p.productid inner join SalesLT.ProductCategory pc on p.ProductCategoryID = pc.ProductCategoryID GROUP BY pc.Name ORDER BY Spend; """
Εμφάνιση αποτελεσμάτων σε πίνακα
Χρησιμοποιήστε το κουμπί + Markdown στο επάνω μέρος του σημειωματαρίου για να προσθέσετε ένα νέο κελί σήμανσης.
Προσθέστε το παρακάτω κείμενο στο νέο κελί σήμανσης.
## Print orders by customer and display in a tableΕπιλέξτε το σημάδι ελέγχου στη γραμμή εργαλείων του κελιού ή χρησιμοποιήστε τις συντομεύσεις
Ctrl+Enterπληκτρολογίου ήShift+Enterγια να αποδώσετε το κελί σήμανσης.Χρησιμοποιήστε το κουμπί + Κωδικός στο επάνω μέρος του σημειωματαρίου για να προσθέσετε ένα νέο κελί κωδικού.
Προσθέστε τον ακόλουθο κώδικα στο νέο κελί κωδικού.
load_dotenv() with connect(getenv("SQL_CONNECTION_STRING")) as conn: # type: ignore with conn.cursor() as cursor: cursor.execute(SQL_QUERY_ORDERS_BY_CUSTOMER) if cursor: table = Table(title="Orders by Customer") # https://rich.readthedocs.io/en/stable/appendix/colors.html table.add_column("Customer ID", style="bright_blue", justify="center") table.add_column("Company Name", style="bright_white", justify="left") table.add_column("Order Count", style="bold green", justify="right") records = cursor.fetchall() for r in records: table.add_row(f"{r.CustomerID}", f"{r.CompanyName}", f"{r.OrderCount}") Console().print(table)
Φιλοδώρημα
Στο macOS, και τα δύο ActiveDirectoryInteractive και ActiveDirectoryDefault λειτουργούν για έλεγχο ταυτότητας Microsoft Entra.
ActiveDirectoryInteractive σας ζητά να εισέρχεστε κάθε φορά που εκτελείτε τη δέσμη ενεργειών. Για να αποφύγετε τις επαναλαμβανόμενες προτροπές εισόδου, συνδεθείτε μία φορά μέσω του Azure CLI εκτελώντας az loginτο και, στη συνέχεια, χρησιμοποιήστε ActiveDirectoryDefaultτο , το οποίο επαναχρησιμοποιεί τα διαπιστευτήρια στο cache.
Χρησιμοποιήστε το κουμπί Εκτέλεση όλων στο επάνω μέρος του σημειωματαρίου για να εκτελέσετε το σημειωματάριο.
Επιλέξτε τον πυρήνα jupyter-notebook-qs όταν σας ζητηθεί.
Εμφάνιση αποτελεσμάτων σε γράφημα
Ελέγξτε την έξοδο του τελευταίου κελιού. Θα πρέπει να δείτε έναν πίνακα με τρεις στήλες και πέντε γραμμές.
Χρησιμοποιήστε το κουμπί + Markdown στο επάνω μέρος του σημειωματαρίου για να προσθέσετε ένα νέο κελί σήμανσης.
Προσθέστε το παρακάτω κείμενο στο νέο κελί σήμανσης.
## Display spend by category in a horizontal bar chartΕπιλέξτε το σημάδι ελέγχου στη γραμμή εργαλείων του κελιού ή χρησιμοποιήστε τις συντομεύσεις
Ctrl+Enterπληκτρολογίου ήShift+Enterγια να αποδώσετε το κελί σήμανσης.Χρησιμοποιήστε το κουμπί + Κωδικός στο επάνω μέρος του σημειωματαρίου για να προσθέσετε ένα νέο κελί κωδικού.
Προσθέστε τον ακόλουθο κώδικα στο νέο κελί κωδικού.
with connect(getenv("SQL_CONNECTION_STRING")) as conn: # type: ignore data = pd.read_sql_query(SQL_QUERY_SPEND_BY_CATEGORY, conn) # Set the style - use print(plt.style.available) to see all options plt.style.use('seaborn-v0_8-notebook') plt.barh(data['ProductCategory'], data['Spend'])Χρησιμοποιήστε το κουμπί Εκτέλεση κελιού ή
Ctrl+Alt+Enterγια να εκτελέσετε το κελί.Ελέγξτε τα αποτελέσματα. Κάντε αυτό το σημειωματάριο δικό σας.
Επόμενο βήμα
Επισκεφτείτε το αποθετήριο GitHub του mssql-python προγράμματος οδήγησης για περισσότερα παραδείγματα, για να συνεισφέρετε ιδέες ή να αναφέρετε προβλήματα.