Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tip
Microsoft Fabric Data Warehouse to magazyn relacyjny w skali przedsiębiorstwa na podstawie bazy danych data lake z architekturą gotową do użycia w przyszłości, wbudowaną sztuczną inteligencją i nowymi funkcjami. Jeśli dopiero zaczynasz korzystać z magazynowania danych, zacznij od Fabric Data Warehouse. Istniejące obciążenia dedykowanej puli SQL mogą zostać zaktualizowane do Fabric, aby uzyskać dostęp do nowych możliwości w zakresie nauki o danych, analizy w czasie rzeczywistym i raportowania.
W tym przewodniku szybkiego startu, masz możliwość zbiorczego załadowania danych do dedykowanej puli SQL przy użyciu prostej i elastycznej instrukcji COPY do szybkiego pozyskiwania danych. Instrukcja COPY jest zalecanym narzędziem do ładowania, ponieważ umożliwia bezproblemowe i elastyczne ładowanie danych, zapewniając następujące funkcje:
- Zezwalaj użytkownikom z niższymi uprawnieniami uprzywilejowanymi na ładowanie bez konieczności ścisłego kontrolowania uprawnień do magazynu danych
- Korzystanie tylko z pojedynczej instrukcji języka T-SQL bez konieczności tworzenia dodatkowych obiektów bazy danych
- Korzystanie z bardziej precyzyjnego modelu uprawnień bez ujawniania kluczy konta magazynowego za pomocą współdzielonych sygnatur dostępu (SAS)
- Określ inne konto magazynu dla lokalizacji ERRORFILE (REJECTED_ROW_LOCATION)
- Dostosowywanie wartości domyślnych dla każdej kolumny docelowej i określanie pól danych źródłowych do załadowania do określonych kolumn docelowych
- Określanie niestandardowego terminatora wierszy dla plików CSV
- Ograniczniki ciągu ucieczki, pola i wiersza dla plików CSV
- Korzystanie z formatów daty programu SQL Server dla plików CSV
- Określ znaki wieloznaczne i wiele plików w ścieżce lokalizacji przechowywania
Wymagania wstępne
W tym przewodniku Szybki start założono, że masz już dedykowaną pulę SQL. Jeśli dedykowana pula SQL nie została utworzona, użyj instrukcji szybkiego startu Tworzenie i łączenie — portal.
Konfigurowanie wymaganych uprawnień
-- 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>
Tworzenie tabeli docelowej
W tym przykładzie będziemy ładować dane z zestawu danych nowojorskich taksówek. Załadujemy tabelę o nazwie Trip, która reprezentuje przejazdy taksówkami w ciągu jednego roku. Uruchom następujące polecenie, aby utworzyć tabelę:
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
);
Uruchom instrukcję copy
Uruchom następującą instrukcję COPY, która załaduje dane z konta usługi Azure Blob Storage do tabeli Trip.
COPY INTO [dbo].[Trip] FROM 'https://nytaxiblob.blob.core.windows.net/2013/Trip2013/'
WITH (
FIELDTERMINATOR='|',
ROWTERMINATOR='0x0A'
) OPTION (LABEL = 'COPY: dbo.trip');
Monitorowanie obciążenia
Sprawdź, czy obciążenie postępuje, okresowo uruchamiając następujące zapytanie:
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;
Następne kroki
- Aby uzyskać najlepsze rozwiązania dotyczące ładowania danych, zobacz Najlepsze rozwiązania dotyczące ładowania danych.
- Aby uzyskać informacje na temat zarządzania zasobami na potrzeby ładowania danych, zobacz Izolacja obciążenia.