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.
Conseil / Astuce
Microsoft Fabric Data Warehouse est un entrepôt relationnel à l’échelle de l’entreprise sur une base de lac de données, avec une architecture future, une IA intégrée et de nouvelles fonctionnalités. Si vous débutez avec l'entreposage de données, commencez par Fabric Data Warehouse. Les charges de travail de pool SQL existantes dédicées peuvent être mises à niveau vers Fabric pour accéder à de nouvelles fonctionnalités dans la science des données, l’analytique en temps réel et la création de rapports.
Dans ce guide de démarrage rapide, vous allez charger en bloc des données dans votre pool SQL dédié à l’aide de l’instruction COPY simple et flexible pour l’ingestion de données à haut débit. L’instruction COPY est l’utilitaire de chargement recommandé, car il vous permet de charger de manière transparente et flexible des données en fournissant des fonctionnalités pour :
- Autoriser les utilisateurs privilégiés inférieurs à se charger sans avoir besoin d’autorisations CONTROL strictes sur l’entrepôt de données
- Tirer parti d’une seule instruction T-SQL sans avoir à créer d’objets de base de données supplémentaires
- Exploiter un modèle d'autorisation plus granulaire sans exposer de clés de compte de stockage à l'aide de Signatures d'Accès Partagé (SAS)
- Spécifiez un autre compte de stockage pour l’emplacement ERRORFILE (REJECTED_ROW_LOCATION)
- Personnaliser les valeurs par défaut pour chaque colonne cible et spécifier les champs de données sources à charger dans des colonnes cibles spécifiques
- Spécifier un terminateur de ligne personnalisé pour les fichiers CSV
- Chaîne d’échappement, champ et délimiteurs de lignes pour les fichiers CSV
- Tirer parti des formats date de SQL Server pour les fichiers CSV
- Spécifier des caractères génériques et plusieurs fichiers dans le chemin de l’emplacement du stockage
Prerequisites
Ce guide de démarrage rapide part du principe que vous disposez déjà d’un pool SQL dédié. Si aucun pool SQL dédié n’a été créé, utilisez le guide de démarrage rapide Créer et se connecter au portail .
Configurer les autorisations requises
-- List the permissions for your user
select princ.name
, princ.type_desc
, perm.permission_name
, perm.state_desc
, perm.class_desc
, object_name(perm.major_id)
from sys.database_principals princ
left join
sys.database_permissions perm
on perm.grantee_principal_id = princ.principal_id
where name = '<yourusername>';
--Make sure your user has the permissions to CREATE tables in the [dbo] schema
GRANT CREATE TABLE TO <yourusername>;
GRANT ALTER ON SCHEMA::dbo TO <yourusername>;
--Make sure your user has ADMINISTER DATABASE BULK OPERATIONS permissions
GRANT ADMINISTER DATABASE BULK OPERATIONS TO <yourusername>
--Make sure your user has INSERT permissions on the target table
GRANT INSERT ON <yourtable> TO <yourusername>
Créer la table cible
Dans cet exemple, nous allons charger des données à partir du jeu de données de taxi de New York. Nous allons charger une table appelée Trip qui représente les courses de taxi prises au cours d'une année. Exécutez ce qui suit pour créer la table :
CREATE TABLE [dbo].[Trip]
(
[DateID] int NOT NULL,
[MedallionID] int NOT NULL,
[HackneyLicenseID] int NOT NULL,
[PickupTimeID] int NOT NULL,
[DropoffTimeID] int NOT NULL,
[PickupGeographyID] int NULL,
[DropoffGeographyID] int NULL,
[PickupLatitude] float NULL,
[PickupLongitude] float NULL,
[PickupLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DropoffLatitude] float NULL,
[DropoffLongitude] float NULL,
[DropoffLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PassengerCount] int NULL,
[TripDurationSeconds] int NULL,
[TripDistanceMiles] float NULL,
[PaymentType] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[FareAmount] money NULL,
[SurchargeAmount] money NULL,
[TaxAmount] money NULL,
[TipAmount] money NULL,
[TollsAmount] money NULL,
[TotalAmount] money NULL
)
WITH
(
DISTRIBUTION = ROUND_ROBIN,
CLUSTERED COLUMNSTORE INDEX
);
Exécuter l’instruction COPY
Exécutez l’instruction COPY suivante qui charge les données du compte de stockage d’objets blob Azure dans la table Trip.
COPY INTO [dbo].[Trip] FROM 'https://nytaxiblob.blob.core.windows.net/2013/Trip2013/'
WITH (
FIELDTERMINATOR='|',
ROWTERMINATOR='0x0A'
) OPTION (LABEL = 'COPY: dbo.trip');
Surveiller la charge
Vérifiez si votre charge progresse régulièrement en exécutant la requête suivante :
SELECT r.[request_id]
, r.[status]
, r.resource_class
, r.command
, sum(bytes_processed) AS bytes_processed
, sum(rows_processed) AS rows_processed
FROM sys.dm_pdw_exec_requests r
JOIN sys.dm_pdw_dms_workers w
ON r.[request_id] = w.request_id
WHERE [label] = 'COPY: dbo.trip' and session_id <> session_id() and type = 'WRITER'
GROUP BY r.[request_id]
, r.[status]
, r.resource_class
, r.command;
Étapes suivantes
- Pour connaître les meilleures pratiques relatives au chargement des données, consultez les meilleures pratiques pour le chargement des données.
- Pour plus d’informations sur la gestion des ressources pour vos chargements de données, consultez Isolation de la charge de travail.