Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Tip
Microsoft Fabric Data Warehouse egy nagyvállalati szintű relációs raktár egy Data Lake-alaprendszeren, jövőre kész architektúrával, beépített AI-vel és új funkciókkal. Ha még nem ismerkedik adattárházzal, kezdje a Fabric Data Warehouse. A meglévő dedikált SQL-készlet számítási feladatai frissíthetők Fabric az adatelemzés, a valós idejű elemzés és a jelentéskészítés új képességeinek eléréséhez.
Ebben a gyors használati útmutatóban tömegesen betöltjük az adatokat a dedikált SQL-készletbe az egyszerű és rugalmas COPY utasítással a nagy teljesítményű adatbetöltéshez. A COPY utasítás az ajánlott betöltési segédprogram, mivel lehetővé teszi az adatok zökkenőmentes és rugalmas betöltését azáltal, hogy a következőket biztosítja:
- A kevesebb jogosultsággal rendelkező felhasználók számára az adatok betöltésének engedélyezése szigorú CONTROL-engedélyek nélkül az adattárházban.
- Csak egyetlen T-SQL-utasítás használata további adatbázis-objektumok létrehozása nélkül
- Finomabb engedélymodell használata tárfiókkulcsok felfedése nélkül a Share Access Signatures (SAS) használatával
- Adjon meg egy másik tárfiókot az ERRORFILE helyéhez (REJECTED_ROW_LOCATION)
- Az egyes céloszlopok alapértelmezett értékeinek testreszabása és a forrásadatmezők megadása adott céloszlopokba való betöltéshez
- Egyéni sor terminátorának megadása CSV-fájlokhoz
- CSV-fájlok sztring-, mező- és sorhatároló karaktereinek kezelése
- SQL Server-dátumformátumok használata CSV-fájlokhoz
- Adjon meg helyettesítő karaktereket és több fájlt a tárolási hely elérési útvonalán
Előfeltételek
Ez a rövid útmutató feltételezi, hogy már rendelkezik dedikált SQL-készletekkel. Ha még nem hozott létre dedikált SQL-készletet, használja a Létrehozás és csatlakozás – portál rövid útmutatóját.
A szükséges engedélyek beállítása
-- 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>
A céltábla létrehozása
Ebben a példában a New York-i taxiadatkészletből töltjük be az adatokat. Betöltünk egy Trip nevű táblát, amely egy éven belül megtett taxiutakat jelöl. Futtassa a következőt a tábla létrehozásához:
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
);
A COPY utasítás futtatása
Futtassa a következő COPY utasítást, amely adatokat tölt be az Azure Blob Storage-fiókból a Trip táblába.
COPY INTO [dbo].[Trip] FROM 'https://nytaxiblob.blob.core.windows.net/2013/Trip2013/'
WITH (
FIELDTERMINATOR='|',
ROWTERMINATOR='0x0A'
) OPTION (LABEL = 'COPY: dbo.trip');
A terhelés figyelése
Ellenőrizze, hogy a terhelés halad-e a következő lekérdezés rendszeres futtatásával:
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;
Következő lépések
- Az adatbetöltéssel kapcsolatos ajánlott eljárásokért tekintse meg az adatok betöltésének ajánlott eljárásait.
- Az adatbetöltések erőforrásainak kezeléséről további információt a számítási feladatok elkülönítése című témakörben talál.