Condividi tramite


Inserisci i dati nel warehouse

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.

Opzioni di inserimento dati

È possibile inserire dati in un warehouse usando una delle opzioni seguenti:

  • COPY (Transact-SQL): l'istruzione COPY offre un inserimento dati flessibile e ad alta velocità effettiva da un account di archiviazione di Azure esterno. È possibile usare l'istruzione COPY come parte della logica ETL/ELT esistente nel codice Transact-SQL.
  • Pipeline di dati: le pipeline offrono un'esperienza senza codice o con poco codice per l'inserimento di dati. 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.
  • Flussi di dati: un'alternativa alle pipeline, i flussi di dati consentono di semplificare la preparazione, la pulizia e la trasformazione dei dati usando un'esperienza senza codice.
  • Inserimento tra data warehouse: è possibile anche l'inserimento dei dati dalle origini dell'area di lavoro. Questo scenario potrebbe essere necessario quando è necessario creare una nuova tabella con un sottoinsieme di una tabella diversa o come risultato dell'unione di tabelle diverse nel magazzino e nella lakehouse. Per l'inserimento tra data warehouse, oltre alle opzioni indicate, le funzionalità Transact-SQL, ad esempio INSERT... SELECT, SELECT INTO o CREATE TABLE AS SELECT (CTAS) funzionano tra più warehouse all'interno della stessa area di lavoro.

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 la sintassi, vedere COPY INTO (Transact-SQL).
  • Usare pipeline di dati per flussi di lavoro di inserimento dati affidabili o senza codice eseguiti ripetutamente, in base a una pianificazione o che comporta grandi volumi di dati. Per altre informazioni, vedere Inserire dati usando pipeline di dati.
  • Usare i flussi di dati per un'esperienza senza codice che consenta trasformazioni personalizzate di origine dati prima che venga inserita. Queste trasformazioni includono , ma non solo, la modifica dei tipi di dati, l'aggiunta o la rimozione di colonne o l'uso di funzioni per produrre colonne calcolate. Per altre informazioni, vedere Flussi di dati.
  • Usare l'inserimento tra warehouse per esperienze avanzate di codice per creare nuove tabelle con dati di origine all'interno della stessa area di lavoro. Per altre informazioni, vedere Inserire dati usando Transact-SQL e Scrivere una query tra database.

Nota

L'istruzione COPY in Warehouse supporta solo le origini dati negli account di archiviazione di Azure, le origini OneLake non sono attualmente supportate.

Formati e origini 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 tra data warehouse, le origini dati devono trovarsi nella stessa area di lavoro di Microsoft Fabric. Le query possono essere eseguite usando la denominazione in tre parti per i dati di origine.

Si supponga, ad esempio, che ci siano due magazzini 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:

CREATE TABLE Inventory.dbo.RegionalSalesOrders
AS
SELECT s.SalesOrders, i.ProductName
FROM Sales.dbo.SalesOrders s
JOIN Inventory.dbo.Products i
WHERE s.ProductID = i.ProductID
    AND s.Region = 'West region'

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 di dati e i flussi di dati supportano un'ampia gamma di origini dati e formati di dati. Per altre informazioni, vedere Pipeline di dati 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 TSQL per creare una nuova tabella e quindi inserirla e 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. Ad esempio:

INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
  • Evitare l'inserimento di dati usando istruzioni INSERT singleton, in quanto ciò causa prestazioni scarse su query e aggiornamenti. Se le istruzioni INSERT singleton sono state usate per l'inserimento di dati consecutivamente, è consigliabile creare una nuova tabella usando CREATE TABLE AS SELECT (CTAS) o INSERT... Criteri SELECT, eliminazione della tabella originale e creazione di nuovo della tabella dalla tabella creata tramite CREATE TABLE AS SELECT (CTAS).
    • L'eliminazione della tabella esistente influisce sul modello semantico, incluse eventuali misure o personalizzazioni personalizzate 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 a 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 non ottimizzati e tempi di esecuzione. Se si esegue il rollback di una transazione con selet dopo un'operazione INSERT di grandi dimensioni, aggiornare le statistiche per le colonne indicate in SELECT.

Nota

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 veloci con i motori di calcolo di Microsoft Fabric, ad esempio 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. A differenza di Fabric Ingegneria dei dati, V-Order è un'impostazione globale in Synapse Data Warehouse che non può essere disabilitata.