Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Ισχύει για:✅ Fabric Μηχανική Δεδομένων και Επιστήμη Δεδομένων
Το Fabric Livy API σάς επιτρέπει να υποβάλλετε εργασίες δέσμης και περιόδου λειτουργίας Spark από έναν απομακρυσμένο υπολογιστή-πελάτη απευθείας στο Fabric Spark compute, χωρίς να χρησιμοποιείτε την πύλη Fabric. Σε αυτό το άρθρο, δημιουργείτε ένα lakehouse, πραγματοποιείτε έλεγχο ταυτότητας με ένα διακριτικό Microsoft Entra, ανακαλύπτετε το τελικό σημείο API Livy και υποβάλλετε και παρακολουθείτε μια εργασία περιόδου λειτουργίας Spark.
Προαπαιτούμενα στοιχεία
Fabric Premium ή δοκιμαστική χωρητικότητα με lakehouse
Ενεργοποιήστε τη ρύθμιση διαχειριστή μισθωτή για το Livy API
Ένας απομακρυσμένος υπολογιστής-πελάτης όπως Visual Studio Code με υποστήριξη φορητού υπολογιστή Jupyter, PySpark και Microsoft Authentication Library (MSAL) για Python
Είτε ένα διακριτικό εφαρμογής Microsoft Entra. Καταχωρίστε μια αίτηση στο Πλατφόρμα ταυτοτήτων της Microsoft
Ή ένα διακριτικό Microsoft Entra SPN (Service Principal). Προσθήκη και διαχείριση διαπιστευτηρίων εφαρμογής στο Microsoft Entra ID
Επιλέξτε έναν πελάτη REST API
Μπορείτε να αλληλεπιδράσετε με το Livy API από οποιονδήποτε πελάτη που υποστηρίζει αιτήματα HTTP, συμπεριλαμβανομένων εργαλείων όπως το curl ή οποιαδήποτε γλώσσα με βιβλιοθήκη HTTP. Τα παραδείγματα σε αυτό το άρθρο χρησιμοποιούν το Visual Studio Code με τα σημειωματάρια Jupyter, PySpark και το Microsoft Authentication Library (MSAL) για το Python.
Πώς να εξουσιοδοτήσετε τα αιτήματα Livy API
Για να χρησιμοποιήσετε το Livy API, πρέπει να ελέγξετε την ταυτότητα των αιτημάτων σας χρησιμοποιώντας το Microsoft Entra ID. Υπάρχουν δύο διαθέσιμες μέθοδοι εξουσιοδότησης:
Entra SPN Token (Service Principal): Η εφαρμογή πραγματοποιεί έλεγχο ταυτότητας ως η ίδια χρησιμοποιώντας διαπιστευτήρια, όπως μυστικό πελάτη ή πιστοποιητικό. Αυτή η μέθοδος είναι κατάλληλη για αυτοματοποιημένες διαδικασίες και υπηρεσίες παρασκηνίου όπου δεν απαιτείται αλληλεπίδραση με τον χρήστη.
Διακριτικό εφαρμογής Entra (Πληρεξούσιο): Η εφαρμογή ενεργεί εκ μέρους ενός συνδεδεμένου χρήστη. Αυτή η μέθοδος είναι κατάλληλη όταν θέλετε η εφαρμογή να έχει πρόσβαση σε πόρους με τα δικαιώματα του πιστοποιημένου χρήστη.
Επιλέξτε τη μέθοδο εξουσιοδότησης που ταιριάζει καλύτερα στο σενάριό σας και ακολουθήστε την αντίστοιχη ενότητα παρακάτω.
Πώς να εξουσιοδοτήσετε τα αιτήματα Livy API με ένα Microsoft Entra SPN Token
Για να εργαστείτε με Fabric API, συμπεριλαμβανομένου του Livy API, πρέπει πρώτα να δημιουργήσετε μια εφαρμογή Microsoft Entra και να δημιουργήσετε ένα μυστικό και να χρησιμοποιήσετε αυτό το μυστικό στον κώδικά σας. Η εφαρμογή σας πρέπει να καταχωρηθεί και να ρυθμιστεί επαρκώς για την εκτέλεση κλήσεων API στο Fabric. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Προσθήκη και διαχείριση διαπιστευτηρίων εφαρμογής στο Microsoft Entra ID
Μετά τη δημιουργία της καταχώρησης της εφαρμογής, δημιουργήστε έναν μυστικό κωδικό προγράμματος-πελάτη.
Καθώς δημιουργείτε τον μυστικό κωδικό προγράμματος-πελάτη, βεβαιωθείτε ότι έχετε αντιγράψει την τιμή. Αυτό το χρειάζεστε αργότερα στον κώδικα και δεν θα μπορείτε να το δείτε ξανά. Χρειάζεστε επίσης το αναγνωριστικό εφαρμογής (πελάτης) και τον κατάλογο (αναγνωριστικό μισθωτή) εκτός από τον μυστικό κωδικό στον κώδικά σας.
Στη συνέχεια, προσθέστε την κύρια υπηρεσία στον χώρο εργασίας σας.
Αναζητήστε την εφαρμογή Microsoft Entra χρησιμοποιώντας το αναγνωριστικό ή το όνομα εφαρμογής (προγράμματος-πελάτη), προσθέστε την στον χώρο εργασίας και βεβαιωθείτε ότι η κύρια υπηρεσία έχει δικαιώματα συμβάλλουντος.
Πώς μπορείτε να εξουσιοδοτήσετε τις αιτήσεις API Livy με ένα διακριτικό εφαρμογής Entra
Για να εργαστείτε με Fabric API, συμπεριλαμβανομένου του Livy API, πρέπει πρώτα να δημιουργήσετε μια εφαρμογή Microsoft Entra και να αποκτήσετε ένα διακριτικό. Η εφαρμογή σας πρέπει να καταχωρηθεί και να ρυθμιστεί επαρκώς για την εκτέλεση κλήσεων API στο Fabric. Για περισσότερες πληροφορίες, ανατρέξτε στο Καταχώριση αίτησης στο Πλατφόρμα ταυτοτήτων της Microsoft.
Τα ακόλουθα δικαιώματα εμβέλειας Microsoft Entra απαιτούνται για την εκτέλεση εργασιών Livy API:
Απαιτούμενα πεδία
| Πεδίο εφαρμογής | Περιγραφή |
|---|---|
Lakehouse.Execute.All |
Εκτελέστε εργασίες σε Fabric lakehouses. |
Lakehouse.Read.All |
Διαβάστε τα μετα-δεδομένα του lakehouse. |
Code.AccessFabric.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στο Fabric. Απαιτείται για όλες τις λειτουργίες του Livy API. |
Code.AccessStorage.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στον χώρο αποθήκευσης OneLake και Azure. Απαιτείται για την ανάγνωση και εγγραφή δεδομένων σε lakehouses. |
Προαιρετικός κώδικας.* πεδία
Προσθέστε αυτές τις εμβέλειες μόνο εάν οι εργασίες Spark πρέπει να έχουν πρόσβαση στις αντίστοιχες υπηρεσίες Azure κατά τον χρόνο εκτέλεσης.
| Πεδίο εφαρμογής | Περιγραφή | Πότε να χρησιμοποιήσετε |
|---|---|---|
Code.AccessAzureKeyvault.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στο Azure Key Vault. | Ο κώδικας Spark ανακτά μυστικά, κλειδιά ή πιστοποιητικά από το Azure Key Vault. |
Code.AccessAzureDataLake.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στο Azure Data Lake Storage Gen1. | Ο κώδικας Spark διαβάζει ή γράφει σε λογαριασμούς Azure Data Lake Storage Gen1. |
Code.AccessAzureDataExplorer.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στην Azure Data Explorer (Kusto). | Ο κώδικας Spark υποβάλλει ερωτήματα ή προσλαμβάνει δεδομένα προς/από συμπλέγματα Azure Data Explorer. |
Code.AccessSQL.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στο Azure SQL. | Ο κώδικας Spark πρέπει να συνδεθεί σε βάσεις δεδομένων Azure SQL. |
Όταν καταχωρείτε την εφαρμογή σας, χρειάζεστε τόσο το αναγνωριστικό εφαρμογής (προγράμματος-πελάτη) όσο και το αναγνωριστικό καταλόγου (μισθωτή).
Ο εξουσιοδοτημένος χρήστης που καλεί το API Livy πρέπει να είναι μέλος του χώρου εργασίας όπου βρίσκονται τόσο το API όσο και τα στοιχεία προέλευσης δεδομένων με ρόλο Συμβάλλοντα. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Παροχή πρόσβασης στους χρήστες σε χώρους εργασίας.
Κατανόηση των πεδίων Code.* για το Livy API
Όταν οι εργασίες Spark εκτελούνται μέσω του Livy API, τα Code.* πεδία ελέγχουν σε ποιες εξωτερικές υπηρεσίες μπορεί να έχει πρόσβαση το Spark Runtime για λογαριασμό του χρήστη που έχει υποβληθεί σε έλεγχο ταυτότητας. Απαιτούνται δύο. Τα υπόλοιπα είναι προαιρετικά ανάλογα με τον φόρτο εργασίας σας.
Απαιτούμενος κώδικας.* πεδία
| Πεδίο εφαρμογής | Περιγραφή |
|---|---|
Code.AccessFabric.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στο Fabric. Απαιτείται για όλες τις λειτουργίες του Livy API. |
Code.AccessStorage.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στον χώρο αποθήκευσης OneLake και Azure. Απαιτείται για την ανάγνωση και εγγραφή δεδομένων σε lakehouses. |
Προαιρετικός κώδικας.* πεδία
Προσθέστε αυτές τις εμβέλειες μόνο εάν οι εργασίες Spark πρέπει να έχουν πρόσβαση στις αντίστοιχες υπηρεσίες Azure κατά τον χρόνο εκτέλεσης.
| Πεδίο εφαρμογής | Περιγραφή | Πότε να χρησιμοποιήσετε |
|---|---|---|
Code.AccessAzureKeyvault.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στο Azure Key Vault. | Ο κώδικας Spark ανακτά μυστικά, κλειδιά ή πιστοποιητικά από το Azure Key Vault. |
Code.AccessAzureDataLake.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στο Azure Data Lake Storage Gen1. | Ο κώδικας Spark διαβάζει ή γράφει σε λογαριασμούς Azure Data Lake Storage Gen1. |
Code.AccessAzureDataExplorer.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στην Azure Data Explorer (Kusto). | Ο κώδικας Spark υποβάλλει ερωτήματα ή προσλαμβάνει δεδομένα προς/από συμπλέγματα Azure Data Explorer. |
Code.AccessSQL.All |
Επιτρέπει τη λήψη διακριτικών πρόσβασης στο Azure SQL. | Ο κώδικας Spark πρέπει να συνδεθεί σε βάσεις δεδομένων Azure SQL. |
Σημείωμα
Τα Lakehouse.Execute.All πεδία και Lakehouse.Read.All απαιτούνται επίσης, αλλά δεν αποτελούν μέρος της Code.* οικογένειας. Χορηγούν άδεια εκτέλεσης λειτουργιών και ανάγνωσης μεταδεδομένων από Fabric lakehouses αντίστοιχα.
Πώς να ανακαλύψετε το τελικό σημείο του Fabric Livy API
Απαιτείται ένα στοιχείο lakehouse για πρόσβαση στο τελικό σημείο Livy. Μόλις δημιουργηθεί το lakehouse, το τελικό σημείο Livy API μπορεί να βρίσκεται στον πίνακα ρυθμίσεων.
Το τελικό σημείο του API Livy θα ακολουθήσει το εξής μοτίβο:
https://api.fabric.microsoft.com/v1/workspaces/><ws_id>/lakehouses/<lakehouse_id>/livyapi/versions/2023-12-01/
Η διεύθυνση URL προσαρτάται με <περιόδους λειτουργίας> ή <δέσμες> ανάλογα με αυτό που επιλέγετε.
Λήψη των αρχείων Livy API Swagger
Τα πλήρη αρχεία swagger για το API Livy είναι διαθέσιμα εδώ.
Υψηλές συνεδρίες ταυτοχρονισμού
Η υποστήριξη υψηλής ταυτόχρονης εκτέλεσης (HC) επιτρέπει την ταυτόχρονη εκτέλεση Spark, επιτρέποντας στους υπολογιστές-πελάτες να αποκτήσουν πολλαπλά ανεξάρτητα περιβάλλοντα εκτέλεσης, που ονομάζονται περίοδοι λειτουργίας υψηλής ταυτόχρονης εκτέλεσης.
Κάθε περίοδος λειτουργίας HC αντιπροσωπεύει ένα λογικό περιβάλλον εκτέλεσης που αντιστοιχίζεται σε ένα Spark REPL (Read-Eval-Print Loop). Οι δηλώσεις Spark που υποβάλλονται σε διαφορετικές συνεδρίες HC μπορούν να εκτελεστούν ταυτόχρονα.
Αυτό επιτρέπει:
- Παράλληλη εκτέλεση σε όλες τις συνεδρίες HC
- Προβλέψιμη χρήση πόρων
- Απομόνωση μεταξύ ταυτόχρονων αιτήσεων
- Χαμηλότερη επιβάρυνση σε σύγκριση με τη δημιουργία νέας συνεδρίας ανά αίτημα
Η χρήση μιας μεμονωμένης περιόδου λειτουργίας για όλες τις αιτήσεις προκαλεί τη διαδοχική εκτέλεση των εντολών. Η δημιουργία μιας νέας συνεδρίας για κάθε αίτημα εισάγει περιττά γενικά έξοδα και υποχρησιμοποίηση πόρων.
Σημείωμα
Η απόκτηση συνεδρίας HC δεν είναι ανίκανη. Πολλαπλά αιτήματα απόκτησης με το ίδιο sessionTag επιστρέφουν διαφορετικά αναγνωριστικά περιόδου λειτουργίας HC, ακόμη και όταν υποστηρίζονται από την ίδια υποκείμενη περίοδο λειτουργίας Livy.
Για μια αναλυτική παρουσίαση με παράδειγμα κώδικα, ανατρέξτε στο Ξεκινήστε με το Livy API για Fabric περιόδους σύνδεσης υψηλής ταυτόχρονης εκτέλεσης. Για μια εννοιολογική επισκόπηση, δείτε Υψηλή υποστήριξη ταυτοχρονισμού στο Fabric Livy API.
Υποβολή εργασιών API Livy
Τώρα που ολοκληρώθηκε η εγκατάσταση του API Livy, μπορείτε να επιλέξετε να υποβάλετε εργασίες δέσμης ή περιόδου λειτουργίας.
- Υποβολή εργασιών περιόδου λειτουργίας με χρήση του API Livy
- Υποβολή εργασιών δέσμης με χρήση του API Livy
Ενοποίηση με περιβάλλοντα Fabric
Από προεπιλογή, αυτή η περίοδος λειτουργίας API Livy εκτελείται σε σχέση με την προεπιλεγμένη ομάδα εκκίνησης για τον χώρο εργασίας. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το Fabric Environments Δημιουργήστε, ρυθμίστε τις παραμέτρους και χρησιμοποιήστε ένα περιβάλλον στο Fabric για να προσαρμόσετε το χώρο συγκέντρωσης Spark που χρησιμοποιεί η περίοδος λειτουργίας Livy API για αυτές τις εργασίες Spark.
Για να χρησιμοποιήσετε ένα περιβάλλον Fabric σε μια περίοδο λειτουργίας Livy Spark, ενημερώστε το json για να συμπεριλάβετε αυτό το ωφέλιμο φορτίο.
create_livy_session = requests.post(livy_base_url, headers = headers, json={
"conf" : {
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID""}"}
}
)
Για να χρησιμοποιήσετε ένα περιβάλλον Fabric σε μια περίοδο λειτουργίας δέσμης Livy Spark, ενημερώστε το ωφέλιμο φορτίο json όπως φαίνεται εδώ:
payload_data = {
"name":"livybatchdemo_with"+ newlakehouseName,
"file":"abfss://YourABFSPathToYourPayload.py",
"conf": {
"spark.targetLakehouse": "Fabric_LakehouseID",
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID"\"}" # Replace "EnvironmentID" with your environment ID, or remove this line to use starter pools instead of an environment
}
}
Τρόπος παρακολούθησης του ιστορικού αιτήσεων
Μπορείτε να χρησιμοποιήσετε το Κέντρο παρακολούθησης για να δείτε τις προηγούμενες υποβολές σας API Livy και να εντοπίσετε σφάλματα στις υποβολές σας.
Σχετικό περιεχόμενο
- Τεκμηρίωση API REST Apache Livy
- Γρήγορα αποτελέσματα με τις ρυθμίσεις διαχειριστή για το Fabric σας Capacity
- Ρυθμίσεις διαχείρισης χώρου εργασίας Apache Spark στο Fabric
- Καταχωρίστε μια αίτηση στο Πλατφόρμα ταυτοτήτων της Microsoft
Microsoft Entra Επισκόπηση άδειας και συναίνεσης - Fabric Πεδία εφαρμογής REST API
- Επισκόπηση παρακολούθησης Apache Spark
- Λεπτομέρεια εφαρμογής Apache Spark