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:✅ Magazzino in Microsoft Fabric
La funzione OPENROWSET consente di leggere il contenuto dei file Parquet o CSV e restituire i dati come set di righe. I file possono essere archiviati in Archiviazione BLOB di Azure, Azure Data Lake Storage o Fabric OneLake.
Important
La lettura di file dall'archiviazione Fabric OneLake tramite la funzione OPENROWSET è attualmente in anteprima.
È possibile usare questa funzionalità per controllare il contenuto del file prima di caricarli nella tabella del data warehouse. Con OPENROWSET è possibile esplorare facilmente i file inseriti in Fabric Warehouse, comprendere le colonne da inserire e determinare i relativi tipi.
Dopo aver compreso i dati, è possibile creare le tabelle che verranno usate per archiviare il contenuto del file inserito.
Esplora i file Parquet usando la funzione OPENROWSET
Nel primo esempio vengono esaminati i dati da un'origine Parquet.
Utilizzare il codice seguente per leggere i dati di esempio da un file utilizzando la funzione OPENROWSET(BULK) con una sorgente Parquet.
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.parquet') AS data
Poiché questi dati sono disponibili pubblicamente e non richiedono l'autenticazione, è possibile copiare facilmente questa query nel warehouse di Fabric ed eseguirla senza modifiche.
Non sono necessari dettagli di autenticazione.
Non è necessario specificare l'opzione FORMAT, perché la funzione OPENROWSET presuppone che si stia leggendo il formato Parquet in base all'estensione di file .parquet nell'URI.
Esplorare i file CSV usando la funzione OPENROWSET
Nel secondo esempio si esaminano i dati da un file CSV. Usare il codice seguente per leggere i dati di esempio da un file CSV usando la funzione OPENROWSET(BULK):
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv') AS data
Poiché questi dati sono disponibili pubblicamente e non richiedono l'autenticazione, è possibile copiare facilmente questa query nel warehouse di Fabric ed eseguirla senza modifiche. Non sono necessari dettagli di autenticazione.
Non è necessario specificare l'opzione FORMAT , perché la OPENROWSET funzione presuppone che si stia leggendo il CSV formato in base all'estensione del .csv file nell'URI.
Note
Nei risultati è possibile notare che la prima riga in questo file contiene i nomi delle colonne anziché i dati. In questo caso, sarà necessario modificare la query usando l'opzione HEADER_ROW per ignorare la riga e usarla solo per i nomi delle colonne. Questo è parte del processo di esplorazione dei dati, man mano che si modifica gradualmente il file fino a quando non corrisponde ai dati sottostanti.
Esplorare i file JSONL usando la funzione OPENROWSET
La OPENROWSET(BULK) funzione consente di esplorare i file JSON in formato delimitato da righe:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.jsonl') AS data
Se il file contiene testo delimitato da righe in cui ogni riga rappresenta un documento JSON valido, la OPENROWSET funzione può essere usata per leggerla direttamente.
Non è necessario specificare l'opzione FORMAT in modo esplicito. L'oggetto OPENROWSET dedurrà automaticamente il formato JSONL in base alle estensioni di file comuni come .jsonl, .ldjson o .ndjson nell'URI. Tuttavia, se si usa un'estensione di file diversa per questo formato, è necessario specificare FORMAT = 'jsonl' per garantire l'analisi corretta.
Leggere i file in Fabric OneLake
La OPENROWSET(BULK) funzione consente di leggere i file archiviati in Fabric OneLake. Se il file viene archiviato nella sezione File di una lakehouse, è possibile leggere questo file usando la sintassi fillowing:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://onelake.dfs.fabric.microsoft.com/<workspaceId>/<lakehouseId>/Files/latest/bing_covid-19_data.jsonl') AS data
Sostituire <workspaceId> e <lakehouseId> con i GUID dell'area di lavoro e del lakehouse che si possono trovare nell'URI dell'area di lavoro di Fabric. Assicurarsi di fare riferimento ai file nella sezione /Files di una lakehouse.
Important
La lettura di file dall'archiviazione Fabric OneLake tramite la funzione OPENROWSET è attualmente in anteprima. Vedere le limitazioni applicabili sia a che COPY INTOa OPENROWSET(BULK) .
Leggere file di testo personalizzati
La OPENROWSET(BULK) funzione consente di definire varie opzioni per la lettura di file di testo personalizzati.
Ad esempio, è possibile specificare valori per ROWTERMINATOR e FIELDTERMINATOR per indicare il formato di file sottostante.
select *
from OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv',
FORMAT='CSV',
HEADER_ROW=True,
ROW_TERMINATOR='\n',
FIELD_TERMINATOR=','
) AS data
In questo esempio si specifica in modo esplicito che si legge un file in formato CSV in cui ogni riga è separata da una nuova riga e ogni campo è separato da una virgola. La prima riga contiene l'intestazione , che verrà usata per i nomi delle colonne.
Esplorare i metadati delle colonne
Con la funzione OPENROWSET è possibile visualizzare facilmente le colonne di file e i relativi tipi combinando la query che legge i dati di esempio con la routine sp_describe_first_result_set:
EXEC sp_describe_first_result_set
N'SELECT TOP 0 *
FROM OPENROWSET(BULK ''https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.parquet'') AS data';
In questo esempio, la sp_describe_first_result_set procedura esegue la query con la OPENROWSET funzione, che non restituisce righe.
Prende poi lo schema di colonna da questa query interna e restituisce lo schema della colonna come risultato della procedura.
È possibile usare questo schema di colonna per definire la struttura della tabella di destinazione nell'istruzione CREATE TABLE in cui inserire i dati.
In alternativa, è possibile usare questi risultati per specificare tipi più precisi per i risultati della OPENROWSET funzione, come illustrato nell'esempio seguente.
Specificare lo schema della funzione OPENROWSET
La funzione OPENROWSET(BULK) restituisce i tipi di colonna stimati in base a un campione dei dati.
Se l'esempio non è rappresentativo, è possibile ottenere tipi imprevisti o dimensioni.
Se si conoscono i tipi di colonna nei file, è possibile definire in modo esplicito lo schema delle colonne usando la clausola WITH:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv') AS data
WITH (updated date,
load_time datetime2,
deaths_change smallint,
id int,
confirmed int,
confirmed_change int,
deaths int,
recovered int,
recovered_change int,
latitude float,
longitude float,
iso2 varchar(8000),
iso3 varchar(8000),
country_region varchar(8000),
admin_region_1 varchar(8000),
iso_subdivision varchar(8000),
admin_region_2 varchar(8000)
) AS data;
Invece di indovinare i tipi di colonna, la funzione OPENROWSET(BULK) assegnerà in modo esplicito i tipi forniti nella clausola WITH.
In questo modo è possibile definire tipi più precisi, che possono migliorare le prestazioni delle query.
Passaggi successivi
Dopo aver completato l'esplorazione dei file e la creazione di tabelle di destinazione, è possibile procedere con l'inserimento usando uno dei metodi seguenti: