Partage via


Parcourir le contenu du fichier à l’aide de la fonction OPENROWSET (préversion)

s’applique à :✅ Warehouse dans Microsoft Fabric

La fonction OPENROWSET vous permet de lire le contenu des fichiers Parquet ou CSV et de retourner les données sous la forme d’un ensemble de lignes.

Vous pouvez utiliser cette fonctionnalité pour inspecter le contenu du fichier avant de les charger dans votre table de l’entrepôt de données. Avec OPENROWSET, vous pouvez facilement explorer les fichiers que vous allez ingérer dans votre entrepôt Fabric, comprendre les colonnes que vous ingérez et déterminer leurs types.

Une fois que vous avez compris vos données, vous pouvez créer les tables qui seront utilisées pour stocker le contenu du fichier ingéré.

Parcourir les fichiers Parquet à l’aide de la fonction OPENROWSET

Dans le premier exemple, nous allons inspecter les données d’une source Parquet.

Utilisez le code suivant pour lire des exemples de données à partir d’un fichier en utilisant la fonction OPENROWSET(BULK) avec une source 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

Étant donné que ces données sont publiquement disponibles et ne nécessitent pas d’authentification, vous pouvez facilement copier cette requête dans votre entrepôt Fabric et l’exécuter sans aucune modification.

Aucun détail d’authentification n’est nécessaire.

Vous n’avez pas besoin de spécifier l’option FORMAT, car la fonction OPENROWSET suppose que vous lisez le format Parquet en fonction de l’extension de fichier .parquet dans l’URI.

Parcourir les fichiers CSV à l’aide de la fonction OPENROWSET

Dans le deuxième exemple, nous inspectons les données d’un fichier CSV. Utilisez le code suivant pour lire des exemples de données à partir d’un fichier CSV à l’aide de la fonction 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

Étant donné que ces données sont publiquement disponibles et ne nécessitent pas d’authentification, vous pouvez facilement copier cette requête dans votre entrepôt Fabric et l’exécuter sans aucune modification. Aucun détail d’authentification n’est nécessaire.

Vous n’avez pas besoin de spécifier l’option FORMAT, car la fonction OPENROWSET suppose que vous lisez le format CSV en fonction de l’extension de fichier .csv dans l’URI.

Note

Dans les résultats, vous remarquerez peut-être que la première ligne de ce fichier contient les noms de colonnes au lieu de données. Dans ce cas, vous devez modifier la requête à l’aide de l’option HEADER_ROW pour ignorer la ligne et l’utiliser uniquement pour les noms de colonnes. Cela fait partie du processus d’exploration des données, car vous ajustez progressivement le fichier jusqu’à ce qu’il corresponde aux données sous-jacentes.

Lecture de fichiers texte personnalisés

La fonction OPENROWSET(BULK) vous permet de définir différentes options pour lire des fichiers texte personnalisés. Par exemple, vous pouvez spécifier des valeurs pour ROWTERMINATOR et FIELDTERMINATOR pour indiquer le format de fichier sous-jacent.

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

Dans cet exemple, nous spécifions explicitement que nous lisant un fichier au format CSV où chaque ligne est séparée par une nouvelle ligne et chaque champ est séparé par une virgule. La première ligne contient l’en-tête, qui sera utilisé pour les noms de colonnes.

Explorer les métadonnées de colonne

Avec la fonction OPENROWSET, vous pouvez facilement afficher les colonnes de fichier et leurs types en combinant la requête qui lit des exemples de données avec la procédure 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';

Dans cet exemple, la procédure sp_describe_first_result_set exécute la requête avec la fonction OPENROWSET, qui retourne 0 lignes. Il prend ensuite le schéma de colonne de cette requête interne et retourne le schéma de colonne en conséquence de la procédure.

Vous pouvez utiliser ce schéma de colonne pour définir la structure de la table de destination dans l’instruction CREATE TABLE où vous ingérer vos données. Vous pouvez également utiliser ces résultats pour spécifier des types plus précis pour les résultats de la fonction OPENROWSET, comme illustré dans l’exemple suivant.

Spécifier le schéma de la fonction OPENROWSET

La fonction OPENROWSET(BULK) retourne les types de colonnes estimés en fonction d’un exemple de données.

Si l’exemple n’est pas représentatif, vous pouvez obtenir des types inattendus ou leurs tailles.

Si vous connaissez les types de colonnes dans vos fichiers, vous pouvez définir explicitement le schéma des colonnes à l’aide de la clause 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;

Au lieu de deviner les types de colonnes, la fonction OPENROWSET(BULK) affectera explicitement les types fournis dans la clause WITH.

De cette façon, vous pouvez définir des types plus précis, ce qui peut améliorer les performances de vos requêtes.

Étapes suivantes

Une fois l’exploration de fichiers terminée et la création de tables de destination, vous pouvez procéder à l’ingestion à l’aide de l’une des méthodes suivantes :