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.
A következőkre vonatkozik:✅ Warehouse a Microsoft Fabricben
Az OPENROWSET függvény lehetővé teszi a Parquet- vagy CSV-fájlok tartalmának olvasását, és az adatokat sorhalmazként adja vissza. A fájlok tárolhatók az Azure Blob Storage-ban, az Azure Data Lake Storage-ban vagy a Fabric OneLake-ben.
Important
A Fabric OneLake Storage-ból származó fájlok OPENROWSET függvény használatával történő olvasása jelenleg előzetes verzióban érhető el.
Ezzel a funkcióval megvizsgálhatja a fájl tartalmát, mielőtt betöltené őket az adattárháztáblába. Az OPENROWSET segítségével könnyedén megvizsgálhatja a Fabric Warehouse-ba betöltött fájlokat, megismerheti a betöltött oszlopokat, és meghatározhatja azok típusait.
A külső adatok lekérdezésével kapcsolatos további információkért és példákért lásd: Külső data lake-fájlok lekérdezése Fabric Data Warehouse vagy SQL Analytics-végpont használatával.
Miután megismerte az adatokat, létrehozhatja azokat a táblákat, amelyek a betöltött fájltartalom tárolására szolgálnak.
Parquet-fájlok tallózása az OPENROWSET függvény használatával
Az első példában parquet-forrásból származó adatokat vizsgálunk meg.
A következő kód használatával mintaadatokat olvashat be egy nyilvános fájlból a OPENROWSET(BULK) függvény használatával, Parquet-forrásból:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://<storage account>.blob.core.windows.net/public/<subfolder>/<file name>.parquet') AS data
Mivel ezek az adatok nyilvánosan elérhetők, és nem igényelnek hitelesítést, egyszerűen átmásolhatja ezt a lekérdezést a Fabric-raktárba, és módosítás nélkül végrehajthatja őket.
Nem kell megadnia a FORMAT beállítást, mivel a OPENROWSET függvény feltételezi, hogy az URI .parquet fájlkiterjesztése alapján olvassa a Parquet formátumot.
CSV-fájlok tallózása az OPENROWSET függvény használatával
A második példában egy CSV-fájlból származó adatokat vizsgál meg. A következő kóddal beolvashatja a mintaadatokat egy CSV-fájlból a OPENROWSET(BULK) függvény használatával:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://<storage account>.blob.core.windows.net/public/<subfolder>/<file name>.csv') AS data
Mivel ezek az adatok nyilvánosan elérhetők, és nem igényel hitelesítést, egyszerűen átmásolhatja ezt a lekérdezést a Fabric raktárba, és módosítás nélkül végrehajthatja őket.
Nem kell megadnia a FORMAT beállítást, mivel a OPENROWSET függvény feltételezi, hogy a formátumot az CSV.csv URI fájlkiterjesztése alapján olvassa.
Note
Az eredményekben megfigyelheti, hogy a fájl első sora adatok helyett az oszlopneveket tartalmazza. Ebben az esetben módosítania kell a lekérdezést a HEADER_ROW beállítással, hogy kihagyja a sort, és csak az oszlopnevekhez használja. Ez az adatfeltárási folyamat része, mivel fokozatosan módosíthatja a fájlt, amíg az nem egyezik a mögöttes adatokkal.
JSONL-fájlok tallózása az OPENROWSET függvény használatával
A OPENROWSET(BULK) függvény lehetővé teszi a JSON-fájlok sorhatárolt formátumban való tallózását:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://<storage account>.blob.core.windows.net/public/<subfolder>/<file name>.jsonl') AS data
Ha a fájl sorhatárolt szöveget tartalmaz, ahol minden sor érvényes JSON-dokumentumot jelöl, a OPENROWSET függvény közvetlenül olvasható.
Nem kell explicit módon megadnia a FORMAT beállítást. A OPENROWSET rendszer automatikusan a JSONL formátumot fogja kikövetkeztetni az olyan gyakori fájlkiterjesztések alapján, mint az .jsonl, .ldjsonvagy .ndjson az URI. Ha azonban más fájlkiterjesztést használ ehhez a formátumhoz, meg kell adnia a FORMAT = 'jsonl' a megfelelő elemzéshez.
Fájlok olvasása a Fabric OneLake-ben
A OPENROWSET(BULK) függvény lehetővé teszi a Fabric OneLake-ben tárolt fájlok olvasását. Ha a fájlt egy tóház Fájlok szakaszában tárolja, a következő szintaxissal olvashatja el a fájlt:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://onelake.dfs.fabric.microsoft.com/<workspaceId>/<lakehouseId>/Files/latest/<file name>.jsonl') AS data
Cserélje le a <workspaceId> és <lakehouseId> értékeket a Fabric munkaterület URI-jában található munkaterület- és lakehouse-GUID-okkal. Biztosítsa, hogy a lakehouse /Files szakaszában lévő fájlokra hivatkozzon.
Egyéni szövegfájlok olvasása
A OPENROWSET(BULK) függvény lehetővé teszi az egyéni szövegfájlok olvasásának különböző beállításait.
Megadhat például értékeket ROWTERMINATOR és FIELDTERMINATOR a mögöttes fájlformátum jelzéséhez.
select *
from OPENROWSET(BULK 'https://<storage account>.blob.core.windows.net/public/<subfolder>/<file name>.csv',
FORMAT='CSV',
HEADER_ROW=True,
ROWTERMINATOR='\n',
FIELDTERMINATOR=','
) AS data
Ebben a példában kifejezetten meghatározzuk, hogy CSV formátumban olvassunk egy fájlt, amelyben minden sort egy új vonal választ el, és minden mezőt vessző választ el egymástól. Az első sor tartalmazza az oszlopnevekhez használt fejlécet.
Az oszlop metaadatainak felfedezése
A OPENROWSET függvénnyel egyszerűen megtekintheti a fájloszlopokat és azok típusait a mintaadatokat beolvasó lekérdezés és a sp_describe_first_result_set eljárás kombinálásával:
EXEC sp_describe_first_result_set
N'SELECT TOP 0 *
FROM OPENROWSET(BULK ''https://<storage account>.blob.core.windows.net/public/<subfolder>/<file name>.parquet'') AS data';
Ebben a példában az sp_describe_first_result_set eljárás végrehajtja a lekérdezést a OPENROWSET függvénnyel, amely nem ad vissza sorokat.
Ezután az oszlopsémát ebből a belső lekérdezésből veszi, és az eljárás eredményeként visszaadja az oszlopsémát.
Ezzel az oszlopsémával meghatározhatja a céltábla szerkezetét abban az CREATE TABLE utasításban, amelyben az adatokat betölti.
Alternatív megoldásként ezekkel az eredményekkel pontosabb típusokat adhat meg a OPENROWSET függvény eredményeihez, ahogyan az az alábbi példában is látható.
Az OPENROWSET függvény sémájának megadása
A OPENROWSET(BULK) függvény az adatok mintája alapján adja vissza a becsült oszloptípusokat.
Ha a minta nem reprezentatív, előfordulhat, hogy váratlan típusokat vagy méreteket kap.
Ha ismeri a fájlok oszloptípusait, explicit módon definiálhatja az oszlopok sémáját a WITH záradék használatával:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://<storage account>.blob.core.windows.net/public/<subfolder>/<file name>.csv') AS data
WITH (updated date,
load_time datetime2,
deaths_change smallint,
id int,
confirmed int,
confirmed_change int,
deaths int,
recovered int,
recovered_change int,
latitude float,
longitude float,
iso2 varchar(8000),
iso3 varchar(8000),
country_region varchar(8000),
admin_region_1 varchar(8000),
iso_subdivision varchar(8000),
admin_region_2 varchar(8000)
) AS data;
Az oszloptípusok kitalálása helyett a OPENROWSET(BULK) függvény explicit módon hozzárendeli a WITH záradékban megadott típusokat.
Így pontosabb típusokat határozhat meg, amelyek javíthatják a lekérdezések teljesítményét.
Következő lépések
A fájlfeltárás és a céltáblák létrehozása után az alábbi módszerek egyikével folytathatja a betöltést: