Πρόσληψη δεδομένων στην αποθήκη

Ισχύει για:✅ Warehouse στο Microsoft Fabric

Το Warehouse στο Microsoft Fabric παρέχει ενσωματωμένα εργαλεία πρόσληψης δεδομένων. Χρησιμοποιήστε αυτά τα εργαλεία για να απορροφήσετε δεδομένα σε αποθήκες σε κλίμακα, χρησιμοποιώντας εμπειρίες χωρίς κώδικα ή πλούσιες σε κώδικα.

Επιλογή εργαλείου πρόσληψης δεδομένων

Επιλέξτε μια επιλογή πρόσληψης δεδομένων με βάση τα ακόλουθα κριτήρια:

  • Χρησιμοποιήστε τη δήλωση COPY (Transact-SQL) για λειτουργίες πρόσληψης δεδομένων πλούσιου σε κώδικα. Παρέχει την υψηλότερη απόδοση απορρόφησης δεδομένων. Χρησιμοποιήστε το όταν χρειάζεται να προσθέσετε την πρόσληψη δεδομένων ως μέρος της λογικής Transact-SQL σας.
    • Για να ξεκινήσετε, ανατρέξτε στο θέμα Πρόσληψη δεδομένων με χρήση της πρότασης COPY.
    • Το Warehouse υποστηρίζει επίσης την παραδοσιακή BULK INSERT δήλωση συμβατότητας. Στην Fabric αποθήκη δεδομένων, αυτή η δήλωση αντιστοιχίζεται στη COPY INTO συμπεριφορά με τις κλασικές επιλογές φόρτωσης.
    • Η COPY πρόταση στην Αποθήκη υποστηρίζει προελεύσεις δεδομένων από λογαριασμούς χώρου αποθήκευσης Azure και φακέλους OneLake lakehouse.
    • Καθορίστε Workspace Identity στον CREDENTIAL όρο την απομίμηση της ταυτότητας χώρου εργασίας Fabric κατά την πρόσβαση στην προέλευση. Για παράδειγμα, CREDENTIAL = (IDENTITY = 'Workspace Identity'). Η πρόταση συνεχίζει να εκτελείται στο περιβάλλον ασφαλείας SQL του τρέχοντος χρήστη.
  • Χρησιμοποιήστε το BCP API (Προεπισκόπηση) για άμεση πρόσληψη από την πλευρά του προγράμματος-πελάτη, όταν τα δεδομένα βρίσκονται στο επίπεδο της εφαρμογής σας και δεν μπορείτε να προετοιμάσετε πρώτα τα αρχεία.
    • Για να ξεκινήσετε, ανατρέξτε στο θέμα Πρόσληψη δεδομένων με χρήση BCP API (Προεπισκόπηση).
    • Το BCP API υποστηρίζει σενάρια bcp.exe και API εφαρμογών όπως C# SqlBulkCopy και Java SQLServerBulkCopy.
    • Για πρόσληψη βάσει αρχείου με την υψηλότερη ταχύτητα, προτιμήστε COPY INTO όποτε είναι δυνατή η προεργασία.
  • Χρησιμοποιήστε διοχετεύσεις για ισχυρές ροές εργασιών πρόσληψης δεδομένων χωρίς κώδικα ή με λίγο κώδικα που εκτελούνται επανειλημμένα, βάσει χρονοδιαγράμματος ή που περιλαμβάνουν μεγάλους όγκους δεδομένων.
    • Για να ξεκινήσετε, ανατρέξτε στην ενότητα Πρόσληψη δεδομένων στην αποθήκη σας με χρήση διοχετεύσεων.
    • Χρησιμοποιώντας διοχετεύσεις, μπορείτε να ενορχηστρώσετε ισχυρές ροές εργασίας για μια πλήρη εμπειρία εξαγωγής, μετασχηματισμού, φόρτωσης (ETL). Αυτή η εμπειρία περιλαμβάνει δραστηριότητες που βοηθούν στην προετοιμασία του περιβάλλοντος προορισμού, στην εκτέλεση προσαρμοσμένων προτάσεων Transact-SQL, στην εκτέλεση αναζητήσεων ή στην αντιγραφή δεδομένων από μια προέλευση σε έναν προορισμό.
  • Χρησιμοποιήστε ροές δεδομένων για μια εμπειρία χωρίς κώδικα που επιτρέπει στους προσαρμοσμένους μετασχηματισμούς να προβάλλουν δεδομένα πριν από την πρόσληψη.
    • Για να ξεκινήσετε, ανατρέξτε στο θέμα Πρόσληψη δεδομένων με χρήση ροής δεδομένων.
    • Αυτοί οι μετασχηματισμοί περιλαμβάνουν (ενδεικτικά) την αλλαγή τύπων δεδομένων, την προσθήκη ή κατάργηση στηλών ή τη χρήση συναρτήσεων για την παραγωγή υπολογιζόμενων στηλών.
  • Χρησιμοποιήστε την απορρόφηση T-SQL για εμπειρίες πλούσιες σε κώδικα για να δημιουργήσετε νέους πίνακες ή να ενημερώσετε υπάρχοντες με δεδομένα προέλευσης στον ίδιο χώρο εργασίας ή εξωτερικό χώρο αποθήκευσης.
    • Για να ξεκινήσετε, ανατρέξτε στην ενότητα Πρόσληψη δεδομένων στην αποθήκη σας με χρήση Transact-SQL.
    • Χρησιμοποιήστε Transact-SQL δυνατότητες όπως INSERT...SELECT, SELECT INTO ή CREATE TABLE AS SELECT (CTAS) για να διαβάσετε δεδομένα από πίνακες που αναφέρονται σε άλλες αποθήκες, lakehouses ή βάσεις δεδομένων κατοπτρισμού στον ίδιο χώρο εργασίας. Μπορείτε επίσης να χρησιμοποιήσετε αυτές τις δυνατότητες για να διαβάσετε δεδομένα από τη συνάρτηση OPENROWSET που αναφέρεται σε αρχεία σε εξωτερικούς λογαριασμούς Azure χώρου αποθήκευσης.
    • Μπορείτε επίσης να γράψτε ερωτήματα μεταξύ βάσεων δεδομένων μεταξύ διαφορετικών αποθηκών στον χώρο εργασίας Fabric σας.

Υποστηριζόμενες μορφές δεδομένων και προελεύσεις

Η πρόσληψη δεδομένων για το Warehouse στο Microsoft Fabric υποστηρίζει πολλές μορφές και προελεύσεις δεδομένων. Κάθε επιλογή που περιγράφεται σε αυτό το άρθρο περιλαμβάνει τη δική της λίστα υποστηριζόμενων τύπων συνδέσεων δεδομένων και μορφών δεδομένων.

Για την πρόσληψη T-SQL, οι προελεύσεις δεδομένων πίνακα πρέπει να βρίσκονται στον ίδιο χώρο εργασίας Microsoft Fabric και οι προελεύσεις δεδομένων αρχείων πρέπει να βρίσκονται στον χώρο αποθήκευσης αντικειμένων Blob Azure Data Lake ή Azure. Μπορείτε να υποβάλετε ερωτήματα σε δεδομένα χρησιμοποιώντας την ονομασία τριών τμημάτων ή τη OPENROWSET συνάρτηση για τα δεδομένα προέλευσης. Οι προελεύσεις δεδομένων πίνακα μπορούν να αναφέρονται σε σύνολα δεδομένων Delta Lake, ενώ το OPENROWSET μπορεί να αναφέρεται σε αρχεία Parquet, CSV ή JSONL σε Azure Data Lake ή Azure χώρο αποθήκευσης Blob.

Για παράδειγμα, ας υποθέσουμε ότι ένας χώρος εργασίας έχει δύο αποθήκες, με το όνομα Inventory και Salesτο . Ένα ερώτημα όπως το παρακάτω δημιουργεί έναν νέο πίνακα στην Inventory αποθήκη με το περιεχόμενο ενός πίνακα στην Inventory αποθήκη ενωμένο με έναν πίνακα στην Sales αποθήκη και με εξωτερικά αρχεία που περιέχουν πληροφορίες πελατών:

CREATE TABLE Inventory.dbo.RegionalSalesOrders
AS
SELECT 
    s.SalesOrders,
    i.ProductName,
    c.CustomerName
FROM Sales.dbo.SalesOrders s
JOIN Inventory.dbo.Products i
    ON s.ProductID = i.ProductID
JOIN OPENROWSET( BULK 'abfss://<container>@<storage>.dfs.core.windows.net/<customer-file>.csv' ) AS c
    ON s.CustomerID = c.CustomerID
WHERE s.Region = 'West region';

Note

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

Η δήλωση COPY (Transact-SQL) υποστηρίζει τις μορφές αρχείων CSV, JSONL και PARQUET. Οι υποστηριζόμενες προελεύσεις δεδομένων περιλαμβάνουν το Azure Data Lake Storage (ADLS) Gen2, το Azure Blob Storage και το OneLake.

Για σενάρια άμεσης απορρόφησης από την πλευρά του προγράμματος-πελάτη, το BCP API (Προεπισκόπηση) υποστηρίζει εργαλεία και API όπως bcp.exe, C# SqlBulkCopyκαι Java SQLServerBulkCopy μέσω συνδέσεων SQL χωρίς πρώτα να προετοιμάσει τα αρχεία.

Οι διοχετεύσεις και οι ροές δεδομένων υποστηρίζουν μια μεγάλη ποικιλία προελεύσεων δεδομένων και μορφών δεδομένων. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Διοχετεύσεις και ροές δεδομένων.

Χρήση της ταυτότητας χώρου εργασίας με το COPY INTO

Χρησιμοποιήστε την Ταυτότητα χώρου εργασίας με COPY INTO για να διαχωρίσετε την πρόσβαση στα δεδομένα προέλευσης από το δικαίωμα εγγραφής στον πίνακα αποθήκης προορισμού. Η ταυτότητα χώρου εργασίας υποστηρίζεται για προελεύσεις Azure Blob Storage, ADLS Gen2 και OneLake. Η πρόταση εκτελείται στο περιβάλλον ασφαλείας SQL του τρέχοντος χρήστη. Ο WITH (CREDENTIAL = (IDENTITY = 'Workspace Identity')) όρος επιτρέπει COPY INTO την απομίμηση της ταυτότητας του χώρου εργασίας μόνο όταν έχει πρόσβαση στην πηγή. Όλα τα δικαιώματα SQL και η απόδοση ελέγχου παραμένουν συσχετισμένα με τον χρήστη εκτέλεσης.

Χωρίς Ταυτότητα Χώρου Εργασίας, ένας χρήστης που λαμβάνει πρόσβαση στην αποθήκη μέσω κοινής χρήσης είδους μπορεί να εκτελεστεί COPY INTO με τουλάχιστον δικαίωμα Ανάγνωσης είδους και τα απαιτούμενα δικαιώματα SQL.

Ολοκληρώστε την παρακάτω ρύθμιση πριν εκτελέσετε COPY INTO με το Workspace Identity:

  1. Ρυθμίστε τις παραμέτρους μιας ταυτότητας χώρου εργασίας για τον χώρο εργασίας που περιέχει την αποθήκη προορισμού.
  2. Εκχωρήστε στην ταυτότητα του χώρου εργασίας πρόσβαση στην προέλευση:
    • Για το Azure Blob Storage και το ADLS Gen2, βρείτε την ταυτότητα του χώρου εργασίας με βάση το όνομα του χώρου εργασίας και αντιστοιχίστε τον ρόλο Πρόγραμμα ανάγνωσης δεδομένων αντικειμένων blob χώρου αποθήκευσης στον λογαριασμό ή το κοντέινερ χώρου αποθήκευσης. Για πρόσβαση σε επίπεδο καταλόγου ADLS Gen2, εκχωρήστε τα απαιτούμενα δικαιώματα ACL. Εκχωρήστε δικαιώματα στην ταυτότητα χώρου εργασίας όπως θα κάνατε σε έναν χρήστη του Microsoft Entra.
    • Για το OneLake, βρείτε την ταυτότητα του χώρου εργασίας με βάση το όνομα του χώρου εργασίας, προσθέστε τον στον χώρο εργασίας που περιέχει τα δεδομένα προέλευσης και αναθέστε τουλάχιστον τον ρόλο χώρου εργασίας Συμβάλλων.
  3. Αναθέστε στον χρήστη εκτέλεσης τουλάχιστον τον ρόλο Θεατής στον χώρο εργασίας που περιέχει την αποθήκη προορισμού. Τα δικαιώματα στοιχείων από μόνα τους δεν εξουσιοδοτούν έναν χρήστη να μιμηθεί την ταυτότητα του χώρου εργασίας. Η απαίτηση ρόλου χώρου εργασίας ισχύει μόνο όταν ο χρήστης καθορίζει την ταυτότητα χώρου εργασίας.
  4. Εκχωρήστε το δικαίωμα χρήστη INSERT εκτέλεσης στον πίνακα προορισμού. Όταν η ταυτότητα χώρου εργασίας είναι το διαπιστευτήριο, ADMINISTER DATABASE BULK OPERATIONS δεν απαιτείται δικαίωμα.

Το παρακάτω παράδειγμα φορτώνει ένα αρχείο CSV από το OneLake μιμούμενο την ταυτότητα χώρου εργασίας για πρόσβαση προέλευσης:

COPY INTO dbo.SalesOrders
FROM 'https://onelake.dfs.fabric.microsoft.com/<workspace-id>/<item-id>/Files/orders/*.csv'
WITH (
    FILE_TYPE = 'CSV',
    FIRSTROW = 2,
    CREDENTIAL = (IDENTITY = 'Workspace Identity')
);

Σημαντικό

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

Βέλτιστες πρακτικές

Η COPY εντολή στο Warehouse στο Microsoft Fabric παρέχει ένα απλό, ευέλικτο και γρήγορο περιβάλλον εργασίας για πρόσληψη δεδομένων υψηλής ταχύτητας μετάδοσης για φόρτους εργασίας SQL από το Azure Storage και το OneLake.

Μπορείτε επίσης να χρησιμοποιήσετε τη γλώσσα T-SQL για να δημιουργήσετε έναν νέο πίνακα και, στη συνέχεια, να τον εισαγάγετε και, στη συνέχεια, να ενημερώσετε και να διαγράψετε γραμμές δεδομένων. Μπορείτε να εισαγάγετε δεδομένα από οποιαδήποτε βάση δεδομένων εντός του χώρου εργασίας Microsoft Fabric χρησιμοποιώντας ερωτήματα μεταξύ βάσεων δεδομένων. Εάν θέλετε να κάνετε πρόσληψη δεδομένων από ένα Lakehouse σε μια αποθήκη, μπορείτε να το κάνετε αυτό με ένα ερώτημα μεταξύ βάσεων δεδομένων. Για παράδειγμα:

INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
  • Αποφύγετε την πρόσληψη δεδομένων χρησιμοποιώντας μεμονωμένες INSERT προτάσεις, καθώς αυτή η προσέγγιση προκαλεί κακή απόδοση σε ερωτήματα και ενημερώσεις. Εάν χρησιμοποιείτε μεμονωμένες INSERT προτάσεις για την πρόσληψη δεδομένων διαδοχικά, δημιουργήστε έναν νέο πίνακα χρησιμοποιώντας CREATE TABLE AS SELECT (CTAS)INSERT...SELECT ή μοτίβα, αποθέστε τον αρχικό πίνακα και, στη συνέχεια, δημιουργήστε ξανά τον πίνακα από τον πίνακα που δημιουργήσατε χρησιμοποιώντας CREATE TABLE AS SELECT (CTAS).
    • Η κατάργηση του υπάρχοντος πίνακα επηρεάζει το σημασιολογικό μοντέλο σας, συμπεριλαμβανομένων τυχόν προσαρμοσμένων μετρήσεων ή προσαρμογών που μπορεί να έχετε κάνει στο μοντέλο σημασιολογίας.
  • Όταν εργάζεστε με εξωτερικά δεδομένα σε αρχεία, βεβαιωθείτε ότι τα αρχεία έχουν μέγεθος τουλάχιστον 4 MB.
  • Για μεγάλα συμπιεσμένα αρχεία CSV, εξετάστε το ενδεχόμενο να διαιρέσετε το αρχείο σας σε πολλαπλά αρχεία.
  • Το Azure Data Lake Storage (ADLS) Gen2 προσφέρει καλύτερες επιδόσεις σε ό,τι ο Χώρος αποθήκευσης αντικειμένων blob Azure (παλαιού τύπου). Εξετάστε τη χρήση ενός λογαριασμού ADLS Gen2 όποτε αυτό είναι εφικτό.
  • Για διοχετεύσεις που εκτελούνται συχνά, εξετάστε το ενδεχόμενο να απομονώσετε τον λογαριασμό σας χώρου αποθήκευσης Azure από άλλες υπηρεσίες που θα μπορούσαν να έχουν πρόσβαση στα ίδια αρχεία ταυτόχρονα.
  • Οι ρητές συναλλαγές σάς επιτρέπουν να ομαδοποιείτε πολλές αλλαγές δεδομένων, ώστε να είναι ορατές μόνο κατά την ανάγνωση ενός ή περισσότερων πινάκων όταν η συναλλαγή είναι πλήρως δεσμευμένη. Έχετε επίσης τη δυνατότητα να επαναφέρετε τη συναλλαγή, εάν οποιαδήποτε από τις αλλαγές αποτύχει.
  • Εάν το a SELECT βρίσκεται μέσα σε μια συναλλαγή και προηγήθηκαν εισαγωγές δεδομένων, τα στατιστικά στοιχεία που δημιουργούνται αυτόματα μπορεί να είναι ανακριβή μετά από μια επαναφορά. Ανακριβή στατιστικά στοιχεία μπορεί να οδηγήσουν σε μη βελτιστοποιημένα σχέδια ερωτημάτων και χρόνους εκτέλεσης. Εάν επαναφέρετε μια συναλλαγή με SELECTs μετά από ένα μεγάλο INSERT, ενημερώστε τα στατιστικά στοιχεία για τις στήλες που αναφέρονται στο SELECT.

Note

Ανεξάρτητα από τον τρόπο πρόσληψης δεδομένων σε αποθήκες, η εργασία πρόσληψης δεδομένων βελτιστοποιεί τα αρχεία παρκέ που παράγει χρησιμοποιώντας τη βελτιστοποίηση εγγραφής V-Order. Η V-Order βελτιστοποιεί τα αρχεία parquet για να επιτρέπει την αστραπιαία ανάγνωση κάτω από τους μηχανισμούς υπολογιστικής λειτουργίας του Microsoft Fabric, όπως το Power BI, το SQL, το Spark και άλλα. Τα ερωτήματα αποθήκης γενικά επωφελούνται από ταχύτερους χρόνους ανάγνωσης για ερωτήματα με αυτήν τη βελτιστοποίηση, διασφαλίζοντας παράλληλα ότι τα αρχεία παρκέ είναι 100% συμβατά με τις προδιαγραφές ανοιχτού κώδικα. Μην απενεργοποιήσετε το V-Order, καθώς μπορεί να επηρεάσει την απόδοση ανάγνωσης. Για περισσότερες πληροφορίες σχετικά με την παραγγελία V, ανατρέξτε στο θέμα Κατανόηση και διαχείριση της παραγγελίας V για αποθήκη.

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

Ποιες είναι οι οδηγίες διαχωρισμού αρχείων για την εντολή COPY που φορτώνει συμπιεσμένα αρχεία CSV;

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

Ποιες είναι οι οδηγίες διαχωρισμού αρχείων για την εντολή COPY που φορτώνει αρχεία Parquet;

Εξετάστε το ενδεχόμενο να χωρίσετε μεγάλα αρχεία Parquet, ειδικά όταν ο αριθμός των αρχείων είναι μικρός.

Υπάρχουν περιορισμοί στον αριθμό ή το μέγεθος των αρχείων;

Δεν υπάρχουν περιορισμοί στον αριθμό ή το μέγεθος των αρχείων. Ωστόσο, για βέλτιστη απόδοση, χρησιμοποιήστε αρχεία που είναι τουλάχιστον 4 MB.

Ποια διαπιστευτήρια χρησιμοποιεί η εντολή COPY εάν δεν καθορίσω ένα;

Από προεπιλογή, COPY INTO χρησιμοποιεί την ταυτότητα Microsoft Entra του χρήστη εκτέλεσης για πρόσβαση προέλευσης.