Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:✅ Warehouse in Microsoft Fabric
Il warehouse in Microsoft Fabric offre strumenti di inserimento dati predefiniti. Usare questi strumenti per inserire i dati nei data warehouse su larga scala usando esperienze ricche di codice o senza codice.
Scegliere uno strumento di inserimento dati
Scegliere un'opzione di inserimento dati in base ai criteri seguenti:
- Usare l'istruzione COPY (Transact-SQL) per le operazioni di inserimento dati avanzate nel codice. Offre la velocità effettiva di inserimento dati più elevata. Usarlo quando è necessario aggiungere l'inserimento dati come parte della logica di Transact-SQL.
- Per iniziare, vedere Inserire dati usando l'istruzione COPY.
- Il warehouse supporta anche l'istruzione tradizionale
BULK INSERT, che è un sinonimo diCOPY INTOcon le opzioni di caricamento classiche. - L'istruzione
COPYin Warehouse supporta origini dati dagli account di archiviazione di Azure e dalle cartelle lakehouse di OneLake.
- Usare pipeline per flussi di lavoro di inserimento dati affidabili o privi di codice che vengono eseguiti ripetutamente, in base a una pianificazione o che coinvolgono grandi volumi di dati.
- Per iniziare, consulta Inserire dati nel magazzino usando le pipeline.
- Usando le pipeline, è possibile orchestrare flussi di lavoro affidabili per un'esperienza ETL (Extract, Transform, Load) completa. Questa esperienza include attività che consentono di preparare l'ambiente di destinazione, eseguire istruzioni personalizzate Transact-SQL, eseguire ricerche o copiare dati da un'origine a una destinazione.
- Usare i flussi di dati per un'esperienza senza codice che consente trasformazioni personalizzate dei dati di origine prima dell'inserimento.
- Per iniziare, vedere Inserire dati usando un flusso di dati.
- Queste trasformazioni includono, ma non solo limitate a, la modifica dei tipi di dati, l'aggiunta o la rimozione di colonne, o l'uso di funzioni per produrre colonne calcolate.
- Usare l'inserimento T-SQL per esperienze avanzate di codice per creare nuove tabelle o aggiornare quelle esistenti con i dati di origine all'interno della stessa area di lavoro o archiviazione esterna.
- Per iniziare, vedere Inserire dati in Warehouse usando Transact-SQL.
- Usare le funzionalità Transact-SQL come
INSERT...SELECT,SELECT INTOoCREATE TABLE AS SELECT (CTAS)per leggere i dati dalle tabelle che fanno riferimento ad altri magazzini, laghi di dati o database con mirroring all'interno dello stesso spazio di lavoro. È anche possibile usare queste funzionalità per leggere i dati dalla funzioneOPENROWSETche fa riferimento ai file in account di archiviazione esterni Azure. - È anche possibile scrivere query tra database tra diversi warehouse nell'area di lavoro Fabric.
Formati e origini di dati supportati
L'inserimento dati per warehouse in Microsoft Fabric supporta molti formati di dati e origini. Ogni opzione descritta in questo articolo include un proprio elenco di tipi di connettori dati e formati di dati supportati.
Per l'inserimento T-SQL, le tabelle di origine dati devono essere nella stessa area di lavoro Microsoft Fabric, e i file di origine dati devono essere nell'Archiviazione Azure Data Lake o Azure Blob. È possibile eseguire query sui dati usando la denominazione in tre parti o la OPENROWSET funzione per i dati di origine. Le origini dati della tabella possono fare riferimento a set di dati Delta Lake, mentre OPENROWSET può fare riferimento a file Parquet, CSV o JSONL in Azure Data Lake o l'archiviazione Blob di Azure.
Si supponga, ad esempio, che un'area di lavoro abbia due warehouse, denominate Inventory e Sales. Una query come quella seguente crea una nuova tabella nel Inventory magazzino con il contenuto di una tabella nel Inventory magazzino unita a una tabella nel Sales magazzino e con file esterni contenenti informazioni sui clienti:
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
La lettura dei dati con OPENROWSET può essere più lenta rispetto all'esecuzione di query su dati da una tabella. Se si prevede di accedere ripetutamente agli stessi dati esterni, è consigliabile inserirli in una tabella dedicata per migliorare le prestazioni e l'efficienza delle query.
L'istruzione COPY (Transact-SQL) supporta attualmente i formati di file CSV, JSONL e PARQUET. Per le origini dati, sono attualmente supportati Azure Data Lake Storage (ADLS) Gen2 e Archiviazione BLOB di Azure.
Le pipeline e i flussi di dati supportano un'ampia gamma di origini dati e formati di dati. Per altre informazioni, vedere Pipeline e flussi di dati.
Procedure consigliate
Il comando COPY in Warehouse in Microsoft Fabric offre un'interfaccia semplice, flessibile e veloce per l'inserimento di dati a velocità effettiva elevata per i carichi di lavoro SQL. Nella versione corrente supporta il caricamento dei dati solo da account di archiviazione esterni.
È anche possibile usare il linguaggio T-SQL per creare una nuova tabella e quindi inserirla, quindi aggiornare ed eliminare righe di dati. È possibile inserire dati da qualsiasi database all'interno dell'area di lavoro Microsoft Fabric usando query tra database. Se si desidera inserire dati da un lakehouse a un warehouse, è possibile eseguire questa operazione con una query tra database. Per esempio:
INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
- Evitare l'ingestione di dati usando istruzioni singleton
INSERT, perché questo approccio causa prestazioni ridotte nelle query e negli aggiornamenti. Se si usano istruzioni singletonINSERTper l'inserimento di dati consecutivamente, creare una nuova tabella usandoCREATE TABLE AS SELECT (CTAS)oINSERT...SELECTpattern, eliminare la tabella originale e quindi creare di nuovo la tabella dalla tabella creata usandoCREATE TABLE AS SELECT (CTAS).- L'eliminazione della tabella esistente influisce sul modello semantico, incluse eventuali misure personalizzate o personalizzazioni apportate al modello semantico.
- Quando si utilizzano dati esterni su file, è consigliabile che i file siano di almeno 4 MB.
- Per file CSV compressi di grandi dimensioni, è consigliabile suddividere il file in più file.
- Azure Data Lake Storage (ADLS) Gen2 offre prestazioni migliori rispetto ad Archiviazione BLOB di Azure (legacy). Prendere in considerazione l'uso di un account ADLS Gen2 quando possibile.
- Per le pipeline eseguite di frequente, è consigliabile isolare l'account di archiviazione di Azure da altri servizi che possono accedere contemporaneamente agli stessi file.
- Le transazioni esplicite consentono di raggruppare più modifiche ai dati in modo che siano visibili solo quando si legge una o più tabelle quando viene eseguito il commit completo della transazione. È anche possibile eseguire il rollback della transazione se una delle modifiche ha esito negativo.
- Se un'istruzione SELECT si trova all'interno di una transazione ed è stata preceduta da inserimenti di dati, le statistiche generate automaticamente possono essere imprecise dopo un rollback. Le statistiche imprecise possono causare piani di query e tempi di esecuzione non ottimizzati. Se si esegue il rollback di una transazione con dei SELECT dopo un'operazione INSERT di grandi dimensioni, aggiornare le statistiche per le colonne menzionate nei SELECT.
Note
Indipendentemente dalla modalità di inserimento dei dati nei data warehouse, l'attività di inserimento dati ottimizza i file parquet prodotti tramite l'ottimizzazione della scrittura dell'ordine V. V-Order ottimizza i file parquet per abilitare letture rapidissime con i motori di calcolo di Microsoft Fabric, come Power BI, SQL, Spark e altri. Generalmente le query del warehouse traggono vantaggio da tempi di lettura più veloci con questa ottimizzazione, garantendo comunque che i file parquet siano al 100% conformi alla specifica open source. Non disabilitare il V-Order perché potrebbe influire sulle prestazioni di lettura. Per altre informazioni sull'ordine V, vedere Comprendere e gestire V-Order for Warehouse.
Domande frequenti sull'inserimento dati per Fabric Data Warehouse
Quali sono le linee guida per la suddivisione dei file nel comando COPY che carica file CSV compressi?
Valutare la possibilità di suddividere file CSV di grandi dimensioni, soprattutto quando il numero di file è ridotto, ma mantenere i file almeno 4 MB ciascuno per ottenere prestazioni migliori.
Quali sono le indicazioni per suddividere i file per il comando COPY che carica i file Parquet?
Valutare la possibilità di suddividere file Parquet di grandi dimensioni, soprattutto quando il numero di file è ridotto.
Sono previste limitazioni per il numero o le dimensioni dei file?
Non esistono limitazioni per il numero o le dimensioni dei file. Tuttavia, per ottenere prestazioni ottimali, usare file di almeno 4 MB.
Quale metodo di autenticazione usa il comando COPY se non si specifica una credenziale?
Per impostazione predefinita, COPY INTO usa il Microsoft Entra ID dell'utente in esecuzione.