Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:✅ Warehouse in Microsoft Fabric
De COPY-opdracht is de primaire manier om gegevens op te nemen in Warehouse-tabellen. COPY voert gegevensopname met een zeer hoge doorvoer uit van een extern Azure-opslagaccount, met flexibiliteit om opties voor bronbestandsindelingen te configureren, een locatie te bepalen voor het opslaan van geweigerde rijen, rij met kopteksten over te slaan en andere opties in te stellen.
In deze zelfstudie ziet u voorbeelden van gegevensopname voor een Warehouse-tabel met behulp van de instructie T-SQL COPY. Hierbij worden de Bing COVID-19-voorbeeldgegevens uit de Azure Open Datasets gebruikt. Zie Bing COVID-19 voor meer informatie over deze gegevens, inclusief de bijbehorende schema- en gebruiksrechten.
Notitie
Met Warehouse kunt u ook de BULK INSERT-instructie gebruiken voor het importeren van gegevens. De COPY INTO instructie is de aanbevolen instructie voor de nieuwe opnamecode, terwijl u met de BULK INSERT instructie de code kunt hergebruiken die u gebruikt in SQL Server of Azure SQL Database.
Zie COPY voor meer informatie over de T-SQL-instructie, inclusief meer voorbeelden en de volledige syntaxis.
Een tabel maken
Voordat u de COPY-opdracht gebruikt, moet de doeltabel aangemaakt zijn. Gebruik de volgende stappen om de doeltabel voor dit voorbeeld te maken:
Zoek en open uw magazijn in uw Microsoft Fabric-werkruimte.
Ga naar het tabblad Start en selecteer Nieuwe SQL-query.
Voer de volgende code uit om de tabel te maken die wordt gebruikt als de bestemming in deze zelfstudie:
CREATE TABLE [dbo].[bing_covid-19_data] ( [id] [int] NULL, [updated] [date] NULL, [confirmed] [int] NULL, [confirmed_change] [int] NULL, [deaths] [int] NULL, [deaths_change] [int] NULL, [recovered] [int] NULL, [recovered_change] [int] NULL, [latitude] [float] NULL, [longitude] [float] NULL, [iso2] [varchar](8000) NULL, [iso3] [varchar](8000) NULL, [country_region] [varchar](8000) NULL, [admin_region_1] [varchar](8000) NULL, [iso_subdivision] [varchar](8000) NULL, [admin_region_2] [varchar](8000) NULL, [load_time] [datetime2](6) NULL );
Parquet-gegevens opnemen met behulp van de COPY-instructie
In het eerste voorbeeld laden we gegevens met behulp van een Parquet-bron. Omdat deze gegevens openbaar beschikbaar zijn en geen verificatie vereist, kunt u deze gegevens eenvoudig kopiëren door de bron en het doel op te geven. Er zijn geen verificatiegegevens nodig. U hoeft alleen het FILE_TYPE argument op te geven.
Gebruik de volgende code om de COPY-instructie uit te voeren met een Parquet-bron:
COPY INTO [dbo].[bing_covid-19_data]
FROM 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.parquet'
WITH (
FILE_TYPE = 'PARQUET'
);
CSV-gegevens inlezen met de COPY-instructie en een koprij overslaan
Het is gebruikelijk dat csv-bestanden (door komma's gescheiden waarden) een veldnamenrij hebben die de kolomnamen bevat die de tabel in een CSV-bestand vertegenwoordigen. Met de instructie COPY kunt u gegevens uit CSV-bestanden kopiëren en een of meer rijen uit de koptekst van het bronbestand overslaan.
Als u het vorige voorbeeld hebt uitgevoerd om gegevens uit Parquet te laden, kunt u overwegen alle gegevens uit uw tabel te verwijderen:
DELETE FROM [dbo].[bing_covid-19_data];
Gebruik de volgende code om gegevens uit een CSV-bestand te laden dat een veldnamenrij overslaat:
COPY INTO [dbo].[bing_covid-19_data]
FROM 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv'
WITH (
FILE_TYPE = 'CSV',
FIRSTROW = 2
);
De resultaten controleren
De COPY-instructie voltooit het proces door 4.766.736 rijen in uw nieuwe tabel op te nemen. U kunt controleren of de bewerking is uitgevoerd door een query uit te voeren die het totale aantal rijen in de tabel retourneert:
SELECT COUNT(*) FROM [dbo].[bing_covid-19_data];
Als u beide voorbeelden hebt uitgevoerd zonder de rijen tussen uitvoeringen te verwijderen, ziet u het resultaat van deze query met twee keer zoveel rijen. Hoewel dat werkt voor gegevensopname in dit geval, kunt u overwegen om alle rijen te verwijderen en gegevens slechts één keer op te nemen als u verder wilt experimenteren met deze gegevens.
Opties voor gegevensopname
Andere manieren om gegevens op te nemen in uw magazijn zijn:
- Gegevens opnemen met behulp van pijplijnen
- Gegevens opnemen met Behulp van Transact-SQL
- Gegevens opnemen met behulp van een gegevensstroom