NotebookUtils lakehouse βοηθητικά προγράμματα

Χρησιμοποιείται notebookutils.lakehouse για τη διαχείριση στοιχείων lakehouse μέσω προγραμματισμού σε σημειωματάρια Fabric. Μπορείτε να δημιουργήσετε, να λάβετε, να ενημερώσετε, να διαγράψετε και να παραθέσετε τα lakehouses απευθείας από τον κώδικα σημειωματάριου.

Τα βοηθητικά προγράμματα lakehouse είναι διαθέσιμα σε σημειωματάρια Python, PySpark, Scala και R. Τα παραδείγματα σε αυτήν τη σελίδα χρησιμοποιούν την Python ως κύρια γλώσσα, με τα ισοδύναμα Scala και R να εμφανίζονται για βασικές μεθόδους.

Σημείωμα

Τα βοηθητικά προγράμματα Lakehouse υποστηρίζονται μόνο στο Fabric. Δεν είναι διαθέσιμες στο Azure Synapse Analytics.

Για να εμφανίσετε τις διαθέσιμες μεθόδους και τις περιγραφές τους, καλέστε notebookutils.lakehouse.help().

Επισκόπηση μεθόδων

Ο παρακάτω πίνακας συνοψίζει τις διαθέσιμες μεθόδους:

Μέθοδος Περιγραφή Επιστροφές
create Δημιουργεί ένα νέο lakehouse, με προαιρετική υποστήριξη σχήματος. Artifact αντικείμενο με ιδιότητες: id, displayName, description, και workspaceId.
get Ανακτά ένα σπίτι στη λίμνη με το όνομα. Artifact αντικείμενο με βασικά μεταδεδομένα.
getWithProperties Ανακτά ένα σπίτι στη λίμνη με εκτεταμένες ιδιότητες. Artifact με εκτεταμένα μεταδεδομένα και λεπτομέρειες σύνδεσης.
update Ενημερώνει ένα υπάρχον όνομα ή περιγραφή lakehouse. Ενημερωμένο Artifact αντικείμενο.
delete Διαγράφει ένα lakehouse. Boolean. True εάν είναι επιτυχής· Διαφορετικά, False.
list Παραθέτει τα σπίτια λίμνης σε έναν χώρο εργασίας. Πίνακας Artifact αντικειμένων.
listTables Παραθέτει πίνακες σε ένα lakehouse. Πίνακας Table αντικειμένων.
loadTable Ξεκινά μια λειτουργία φόρτωσης για έναν πίνακα lakehouse. Boolean. True εάν είναι επιτυχής· Διαφορετικά, False.
# Method signatures
notebookutils.lakehouse.create(name: String, description: String = "", definition: Object = {}, workspaceId: String = ""): Artifact
notebookutils.lakehouse.get(name: String = "", workspaceId: String = ""): Artifact
notebookutils.lakehouse.getWithProperties(name: String, workspaceId: String = ""): Artifact
notebookutils.lakehouse.update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact
notebookutils.lakehouse.delete(name: String, workspaceId: String = ""): Boolean
notebookutils.lakehouse.list(workspaceId: String = "", maxResults: Int = 1000): Array[Artifact]
notebookutils.lakehouse.listTables(lakehouse: String = "", workspaceId: String = "", maxResults: Int = 1000): Array[Table]
notebookutils.lakehouse.loadTable(loadOption: Object, table: String, lakehouse: String = "", workspaceId: String = ""): Boolean

Όλες οι μέθοδοι δέχονται μια προαιρετική workspaceId παράμετρο. Όταν παραλείπεται, η λειτουργία στοχεύει τον τρέχοντα χώρο εργασίας. Καθορίστε ένα αναγνωριστικό χώρου εργασίας για πρόσβαση μεταξύ χώρων εργασίας. Πρέπει να έχετε τα κατάλληλα δικαιώματα στον χώρο εργασίας προορισμού.

Δημιουργία lakehouse

Χρησιμοποιήστε το notebookutils.lakehouse.create() για να δημιουργήσετε μια νέα λίμνη στον τρέχοντα χώρο εργασίας ή σε έναν καθορισμένο χώρο εργασίας. Τα ονόματα Lakehouse πρέπει να είναι μοναδικά σε έναν χώρο εργασίας.

Παράμετροι

Παράμετρος Τύπος Υποχρεωτικό Περιγραφή
name Συμβλοσειρά Ναι Εμφανιζόμενο όνομα του lakehouse. Πρέπει να είναι μοναδικό εντός του χώρου εργασίας.
description Συμβλοσειρά Όχι Μια περιγραφή κειμένου για το lakehouse.
definition Αντικείμενο Όχι Αντικείμενο δομημένου ορισμού για το lakehouse. Pass {"enableSchemas": True} ή την αντίστοιχη φόρμα αντικειμένου για τη γλώσσα σας για να ενεργοποιήσετε την υποστήριξη σχήματος.
workspaceId Συμβλοσειρά Όχι Αναγνωριστικό χώρου εργασίας προορισμού. Προεπιλογή στον τρέχοντα χώρο εργασίας.

Δημιουργία βασικού Lakehouse

artifact = notebookutils.lakehouse.create("lakehouse_name", "Description of the Lakehouse")

Σημείωμα

Μεταβιβάστε definition ως δομημένο αντικείμενο για τη γλώσσα του σημειωματαρίου σας, όπως ένα λεξικό Python, μια Scala Mapή μια λίστα R.

Δημιουργία lakehouse με υποστήριξη σχήματος

Όταν ενεργοποιείτε την υποστήριξη σχήματος, το lakehouse υποστηρίζει πολλά σχήματα για την οργάνωση πινάκων. Pass {"enableSchemas": True} ως definition παράμετρος:

artifact = notebookutils.lakehouse.create(
    "SalesAnalyticsWithSchema",
    "Lakehouse with schema support for multi-tenant data",
    {"enableSchemas": True}
)

print(f"Created lakehouse with schema support: {artifact.displayName}")
print(f"Lakehouse ID: {artifact.id}")

Δημιουργία Lakehouse σε διαφορετικό χώρο εργασίας

workspace_id = "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb"

artifact = notebookutils.lakehouse.create(
    name="SharedAnalytics",
    description="Shared analytics lakehouse",
    workspaceId=workspace_id
)

print(f"Created lakehouse in workspace: {workspace_id}")

Μαζική δημιουργία λιμνών

Μπορείτε να δημιουργήσετε πολλές λίμνες σε έναν βρόχο για να παρέχετε περιβάλλοντα για διαφορετικές ομάδες ή έργα:

departments = ["Sales", "Marketing", "Finance", "Operations"]

created_lakehouses = []
for dept in departments:
    lakehouse = notebookutils.lakehouse.create(
        name=f"{dept}Analytics",
        description=f"Analytics lakehouse for {dept} department"
    )
    created_lakehouses.append(lakehouse)
    print(f"Created: {lakehouse.displayName}")

print(f"Created {len(created_lakehouses)} lakehouses")

Συμβουλή

Χρησιμοποιήστε περιγραφικά ονόματα που αντικατοπτρίζουν τον σκοπό του lakehouse. Εξετάστε τις συμβάσεις ονομασίας για τον διαχωρισμό περιβάλλοντος, όπως dev, test και prod.

Αποκτήστε ένα σπίτι στη λίμνη

Χρησιμοποιήστε το notebookutils.lakehouse.get() για να ανακτήσετε ένα lakehouse με το όνομα. Εάν παραλείψετε το όνομα, το NotebookUtils χρησιμοποιεί το τρέχον προεπιλεγμένο lakehouse.

Παράμετροι

Παράμετρος Τύπος Υποχρεωτικό Περιγραφή
name Συμβλοσειρά Όχι Όνομα του lakehouse προς ανάκτηση. Η προεπιλογή είναι το τρέχον lakehouse όταν παραλείπεται.
workspaceId Συμβλοσειρά Όχι Αναγνωριστικό χώρου εργασίας προορισμού. Προεπιλογή στον τρέχοντα χώρο εργασίας.
artifact = notebookutils.lakehouse.get("lakehouse_name", "optional_workspace_id")

print(f"Lakehouse Name: {artifact.displayName}")
print(f"Lakehouse ID: {artifact.id}")
print(f"Workspace ID: {artifact.workspaceId}")

Αποκτήστε ένα σπίτι στη λίμνη με εκτεταμένες ιδιότητες

Χρησιμοποιήστε το notebookutils.lakehouse.getWithProperties() όταν χρειάζεστε εκτεταμένες ιδιότητες πέρα από τα βασικά μετα-δεδομένα, όπως συμβολοσειρές σύνδεσης ή λεπτομέρειες ρύθμισης παραμέτρων:

artifact = notebookutils.lakehouse.getWithProperties("lakehouse_name", "optional_workspace_id")

print(f"Lakehouse: {artifact.displayName}")
print(f"Properties: {artifact.properties}")

Λήψη lakehouse από άλλο χώρο εργασίας

workspace_id = "bbbbbbbb-2222-3333-4444-cccccccccccc"
artifact = notebookutils.lakehouse.get("SharedData", workspaceId=workspace_id)

print(f"Retrieved: {artifact.displayName} from workspace {workspace_id}")

Ενημέρωση lakehouse

Χρησιμοποιείται notebookutils.lakehouse.update() για την ενημέρωση του ονόματος ή της περιγραφής μιας υπάρχουσας λίμνης.

Σημαντικό

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

Παράμετροι

Παράμετρος Τύπος Υποχρεωτικό Περιγραφή
name Συμβλοσειρά Ναι Τρέχον όνομα του lakehouse.
newName Συμβλοσειρά Ναι Νέο όνομα για το lakehouse.
description Συμβλοσειρά Όχι Ενημερωμένη περιγραφή.
workspaceId Συμβλοσειρά Όχι Αναγνωριστικό χώρου εργασίας προορισμού. Προεπιλογή στον τρέχοντα χώρο εργασίας.
updated_artifact = notebookutils.lakehouse.update(
    "old_name",
    "new_name",
    "Updated description",
    "optional_workspace_id"
)

print(f"Updated lakehouse: {updated_artifact.displayName}")

Διαγραφή λίμνης

Χρησιμοποιείται για notebookutils.lakehouse.delete() την οριστική κατάργηση μιας λίμνης από έναν χώρο εργασίας.

Προσοχή

Η διαγραφή είναι μόνιμη και δεν μπορεί να αναιρεθεί. Επαληθεύστε το όνομα του lakehouse πριν από τη διαγραφή και ελέγξτε για εξαρτώμενα σημειωματάρια, διοχετεύσεις ή ροές εργασίας που αναφέρονται σε αυτό.

Παράμετροι

Παράμετρος Τύπος Υποχρεωτικό Περιγραφή
name Συμβλοσειρά Ναι Όνομα του lakehouse για διαγραφή.
workspaceId Συμβλοσειρά Όχι Αναγνωριστικό χώρου εργασίας προορισμού. Προεπιλογή στον τρέχοντα χώρο εργασίας.
is_deleted = notebookutils.lakehouse.delete("lakehouse_name", "optional_workspace_id")

if is_deleted:
    print("Lakehouse deleted successfully")
else:
    print("Failed to delete lakehouse")

Λίστα λιμναίων σπιτιών

Χρησιμοποιείται notebookutils.lakehouse.list() για την απαρίθμηση λιμνών σε έναν χώρο εργασίας.

Παράμετροι

Παράμετρος Τύπος Υποχρεωτικό Περιγραφή
workspaceId Συμβλοσειρά Όχι Αναγνωριστικό χώρου εργασίας προορισμού. Προεπιλογή στον τρέχοντα χώρο εργασίας.
maxResults Int Όχι Μέγιστος αριθμός αντικειμένων προς επιστροφή. Προεπιλογή 1000.
artifacts_list = notebookutils.lakehouse.list("optional_workspace_id")

print(f"Found {len(artifacts_list)} lakehouses:")
for lh in artifacts_list:
    print(f"  - {lh.displayName} (ID: {lh.id})")

Σημείωμα

Στη Scala, η list μέθοδος υποστηρίζεται maxResults με τον ίδιο τρόπο όπως και οι άλλες γλώσσες σημειωματαρίου. Για παράδειγμα, χρησιμοποιήστε list(workspaceId, maxResults).

Πίνακες λίστας

Χρησιμοποιείται για notebookutils.lakehouse.listTables() τη λίστα όλων των πινάκων σε ένα lakehouse.

Παράμετροι

Παράμετρος Τύπος Υποχρεωτικό Περιγραφή
lakehouse Συμβλοσειρά Όχι Όνομα του lakehouse. Η προεπιλογή είναι το τρέχον lakehouse όταν παραλείπεται.
workspaceId Συμβλοσειρά Όχι Αναγνωριστικό χώρου εργασίας προορισμού. Προεπιλογή στον τρέχοντα χώρο εργασίας.
maxResults Int Όχι Μέγιστος αριθμός αντικειμένων προς επιστροφή. Προεπιλογή 1000.
artifacts_tables_list = notebookutils.lakehouse.listTables("lakehouse_name", "optional_workspace_id")

Πίνακας φόρτωσης

Χρησιμοποιείται notebookutils.lakehouse.loadTable() για τη φόρτωση δεδομένων από αρχεία σε έναν πίνακα lakehouse.

Παράμετροι

Παράμετρος Τύπος Υποχρεωτικό Περιγραφή
loadOption Αντικείμενο Ναι Δομημένες επιλογές φόρτωσης που καθορίζουν τη διαδρομή αρχείου, τη λειτουργία, τη μορφή και άλλες ρυθμίσεις φόρτωσης.
table Συμβλοσειρά Ναι Όνομα του πίνακα προορισμού.
lakehouse Συμβλοσειρά Όχι Όνομα του lakehouse. Η προεπιλογή είναι το τρέχον lakehouse όταν παραλείπεται.
workspaceId Συμβλοσειρά Όχι Αναγνωριστικό χώρου εργασίας προορισμού. Προεπιλογή στον τρέχοντα χώρο εργασίας.

Το loadOption αντικείμενο υποστηρίζει τα ακόλουθα κλειδιά:

Κλειδί Περιγραφή
relativePath Διαδρομή προς το αρχείο προέλευσης σε σχέση με τη ρίζα lakehouse (για παράδειγμα, Files/myFile.csv).
pathType Τύπος διαδρομής. Χρησιμοποιήστε το File για ένα μόνο αρχείο.
mode Κατάσταση φόρτωσης, όπως Overwrite ή Append.
recursive Ορίστε σε για True να συμπεριλάβετε αρχεία σε υποφακέλους.
formatOptions Ένα λεξικό με ρυθμίσεις για συγκεκριμένες μορφές, όπως format, headerκαι delimiter.

Παράδειγμα:

result = notebookutils.lakehouse.loadTable(
    {
        "relativePath": "Files/myFile.csv",
        "pathType": "File",
        "mode": "Overwrite",
        "recursive": False,
        "formatOptions": {
            "format": "Csv",
            "header": True,
            "delimiter": ","
        }
    }, "table_name", "lakehouse_name", "optional_workspace_id")

if result:
    print("Table loaded successfully")
else:
    print("Table load failed")