Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Si applica a✅: warehouse in Microsoft Fabric
Warehouse in Microsoft Fabric offre strumenti di inserimento dati predefiniti che consentono agli utenti di inserire i dati in data warehouse su larga scala usando esperienze senza codice o avanzate di codice.
Decidere quale strumento di inserimento dati usare
Per decidere quale opzione di inserimento dati usare, è possibile usare i criteri seguenti:
- Usare l'istruzione COPY (Transact-SQL) per le operazioni di inserimento dati avanzate dal codice, per la velocità effettiva di inserimento dati più elevata possibile o quando è necessario aggiungere l'inserimento dati come parte di una logica Transact-SQL.
- Per iniziare, vedere Inserire dati usando l'istruzione COPY
- Il Warehouse supporta anche l'istruzione tradizionale
BULK INSERT, che è sinonimo diCOPY INTO, con le classiche opzioni di caricamento. - L'istruzione
COPYin Warehouse supporta origini dati dagli account di archiviazione di Azure e dalle cartelle lakehouse di OneLake. Le fonti OneLake sono attualmente una funzionalità in anteprima.
- Usare le pipeline per flussi di lavoro di inserimento dati affidabili o senza codice che vengono eseguiti ripetutamente, in base a una pianificazione o che comporta 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 che include attività che consentono di preparare l'ambiente di destinazione, eseguire istruzioni Transact-SQL personalizzate, eseguire ricerche o copiare dati da un'origine a una destinazione.
- Usare i flussi di dati per un'esperienza senza codice che consenta trasformazioni personalizzate dei dati di origine prima che vengano inseriti.
- 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.
- È possibile usare funzionalità Transact-SQL come
INSERT...SELECT,SELECT INTOoCREATE TABLE AS SELECT (CTAS)per leggere i dati dalla tabella che fa riferimento ad altri warehouse, lakehouse o database con mirroring all'interno della stessa area di lavoro o per leggere i dati dalla funzioneOPENROWSETche fa riferimento ai file negli account di archiviazione di Azure esterni. - È anche possibile scrivere query tra database incrociati tra diversi magazzini dati nell'ambiente di lavoro Fabric.
Formati e origini di dati supportati
L'inserimento dati per warehouse in Microsoft Fabric offre un numero elevato di formati di dati e origini che è possibile usare. Ognuna delle opzioni descritte include il proprio elenco di tipi di connettori dati supportati e formati di dati.
Per l'inserimento T-SQL, le origini dati delle tabelle devono trovarsi all'interno della stessa area di lavoro di Microsoft Fabric e le origini dati dei file devono trovarsi in Azure Data Lake o nell'archivio BLOB di Azure. Le query possono essere eseguite usando la denominazione in tre parti o la funzione OPENROWSET per i dati di origine. Le origini dati delle tabelle possono riferirsi a set di dati Delta Lake, mentre OPENROWSET() può riferirsi a file Parquet, CSV o JSONL in Azure Data Lake o in Azure Blob Storage.
Si supponga, ad esempio, che ci siano due warehouse denominati Inventory and Sales in un'area di lavoro. Una query come quella seguente crea una nuova tabella nel magazzino inventario con il contenuto di una tabella nel magazzino inventario, unita a una tabella nel magazzino Vendite 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 tramite 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 PARQUET e CSV. Per le origini dati, attualmente sono 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
La funzionalità di comando COPY in Warehouse in Microsoft Fabric usa un'interfaccia semplice, flessibile e veloce per l'inserimento di dati a velocità effettiva elevata per i carichi di lavoro SQL. Nella versione corrente è supportato 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. I dati possono essere inseriti da qualsiasi database all'interno dell'area di lavoro di 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'inserimento di dati usando istruzioni singleton
INSERT, in quanto ciò causa prestazioni scarse su query e aggiornamenti. Se le istruzioni singletonINSERTsono state usate per l'inserimento di dati consecutivamente, è consigliabile 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 indicate in SELECT.
Note
Indipendentemente dalla modalità di inserimento dei dati nei data warehouse, i file parquet prodotti dall'attività di inserimento dati verranno ottimizzati usando l'ottimizzazione della scrittura in 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. Le query di warehouse in generale traggono vantaggio dai tempi di lettura più veloci per le query con questa ottimizzazione, garantendo comunque che i file Parquet siano conformi al 100% alla specifica open source. Non è consigliabile disabilitare V-Order perché potrebbe influire sulle prestazioni di lettura. Per altre informazioni sull'ordine V, vedere Comprendere e gestire V-Order for Warehouse.