Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à :✅ Entrepôt dans Microsoft Fabric
L'instruction COPY est le principal moyen d'ingérer des données dans les tables Warehouse. COPY effectue une ingestion de données à haut débit à partir d'un compte de stockage Azure externe, avec la flexibilité de configurer les options de format de fichier source, un emplacement pour stocker les lignes rejetées, ignorer les lignes d'en-tête et d'autres options.
Ce tutoriel présente des exemples d’ingestion de données pour une table Warehouse à l’aide de l’instruction T-SQL COPY. Il utilise les données d'exemple Bing COVID-19 des jeux de données ouverts Azure. Pour plus d’informations sur ces données, notamment sur leur schéma et leurs droits d’utilisation, consultez Bing COVID-19.
Remarque
L’entrepôt vous permet également d’utiliser l’instruction BULK INSERT pour l’ingestion de données. L’instruction COPY INTO est l’instruction recommandée pour le nouveau code d’ingestion, tandis que l’instruction BULK INSERT vous permet de réutiliser le code que vous utilisez dans SQL Server ou Azure SQL Database.
Pour en savoir plus sur l’instruction T-SQL COPY , notamment d’autres exemples et la syntaxe complète, consultez COPY (Transact-SQL).
Créer une table
Avant d'utiliser l'instruction COPY, la table de destination doit être créée. Pour créer la table de destination pour cet exemple, procédez comme suit :
Dans votre espace de travail Microsoft Fabric, recherchez et ouvrez votre entrepôt.
Passez à l'onglet Accueil et sélectionnez Nouvelle requête SQL.
Pour créer la table utilisée comme destination dans ce tutoriel, exécutez le code suivant :
CREATE TABLE dbo.TaxiTrips ( doLocationId varchar(MAX) NULL, endLat float NULL, endLon float NULL, extra float NULL, fareAmount float NULL, improvementSurcharge varchar(MAX) NULL, mtaTax float NULL, passengerCount int NULL, paymentType varchar(MAX) NULL, puLocationId varchar(MAX) NULL, puMonth int NULL, puYear int NULL, rateCodeId int NULL, startLat float NULL, startLon float NULL, storeAndFwdFlag varchar(1) NULL, tipAmount float NULL, tollsAmount float NULL, totalAmount float NULL, tpepDropoffDateTime datetime2(6) NULL, tpepPickupDateTime datetime2(6) NULL, tripDistance float NULL, vendorId_str varchar(MAX) NULL, vendorId_lpep int NULL );
Ingérer les données Parquet à l'aide de l'instruction COPY
Dans cet exemple, nous chargeons des données à l’aide d’une source Parquet. Étant donné que ces données sont en accès public et ne nécessite pas d’authentification, vous pouvez facilement les copier en spécifiant la source et la destination. Aucun détail d'authentification n'est nécessaire. Vous n'aurez qu'à spécifier l'argument FILE_TYPE.
Utilisez le code suivant pour exécuter l'instruction COPY avec une source Parquet :
COPY INTO dbo.TaxiTrips
FROM 'https://azureopendatastorage.blob.core.windows.net/nyctlc/yellow'
WITH (
FILE_TYPE = 'PARQUET'
)
Vérification des résultats
L’instruction COPY se termine en ingérant 1 571 671 152 lignes dans votre nouvelle table. Vous pouvez confirmer que l'opération s'est déroulée avec succès en exécutant une requête renvoyant le nombre total de lignes de votre table :
SELECT COUNT_BIG(*) FROM dbo.TaxiTrips;
Options d’ingestion des données
Voici d’autres façons d’ingérer des données dans votre entrepôt :
- Ingérer des données à l’aide de pipelines
- Ingérer des données à l’aide de Transact-SQL
- Ingérer des données à l’aide d’un dataflow