Megosztás a következőn keresztül:


Adatok betöltése a COPY INTO használatával Unity Catalog-kötetekkel vagy külső helyekkel

Megtudhatja, hogyan használhatja COPY INTO az adatok a Unity Catalog által felügyelt vagy külső táblákba való betöltését a COPY INTO által támogatott bármely forrás- és fájlformátumból. A Unity Catalog új lehetőségeket ad a nyers adatokhoz való biztonságos hozzáférés konfigurálásához. A Unity Catalog-kötetek vagy külső helyek használatával hozzáférhet a felhőobjektum-tárolóban tárolt adatokhoz.

A Databricks azt javasolja, hogy kötetekkel férhessenek hozzá a felhőbeli tárolóban lévő fájlokhoz a betöltési folyamat COPY INTOrészeként. A kötetek és a külső helyek használatára vonatkozó javaslatokról további információt a Unity Catalog ajánlott eljárásaiban talál.

Ez a cikk azt ismerteti, hogyan tölthető be a parancs az COPY INTO Azure-fiókban lévő Azure Data Lake Storage Gen2 (ADLS Gen2) tárolóból egy Databricks SQL-táblába.

A cikk lépései feltételezik, hogy a rendszergazda konfigurált egy Unity Catalog-kötetet vagy egy külső helyet, hogy hozzáférhessen a forrásfájlokhoz az ADLS Gen2-ben. Ha a rendszergazda egy számítási erőforrást konfigurált szolgáltatásnév használatára, olvassa el az adatok betöltése a COPY INTO szolgáltatásnévvel vagy oktatóanyag: COPY INTO és Spark SQL használatával című témakört. Ha a rendszergazda ideiglenes hitelesítő adatokat (blob SAS-jogkivonatot) adott meg, kövesse az adatok betöltése a COPY INTO és az ideiglenes hitelesítő adatok használatával című témakörben leírt lépéseket.

Mielőtt elkezdené

Mielőtt COPY INTO unitykatalógus-kötetből vagy egy külső Unity Catalog-helyként definiált felhőobjektum-tárolóútvonalról töltené be az adatokat, az alábbiakkal kell rendelkeznie:

  • Egy READ VOLUME kötet vagy egy READ FILES külső hely jogosultsága.

    További információ a kötetek létrehozásáról: Mik azok a Unity Catalog-kötetek?.

    A külső helyek létrehozásával kapcsolatos további információkért tekintse meg a felhőbeli tároló Azure Databrickshez való csatlakoztatásához szükséges külső hely létrehozását ismertető témakört.

  • A forrásadatok elérési útja egy felhőalapú objektumtároló URL-címe vagy egy kötet elérési útja formájában.

    Példa felhőobjektum-tároló URL-címe: abfss://container@storageAccount.dfs.core.windows.net/raw-data/json.

    Példa kötet elérési útjára: /Volumes/quickstart_catalog/quickstart_schema/quickstart_volume/raw_data/json.

  • A USE SCHEMA céltáblát tartalmazó séma jogosultsága.

  • A USE CATALOG szülőkatalógus jogosultsága.

A Unity Catalog-jogosultságokkal kapcsolatos további információkért lásd a Unity Catalog jogosultságait és a biztonságos objektumokat.

Adatok betöltése kötetből

A Unity Catalog-kötetből származó adatok betöltéséhez rendelkeznie kell a READ VOLUME jogosultsággal. A kötetjogjogok a megadott kötet alatti összes beágyazott könyvtárra vonatkoznak.

Ha például rendelkezik hozzáféréssel egy kötethez az elérési úttal /Volumes/quickstart_catalog/quickstart_schema/quickstart_volume/, a következő parancsok érvényesek:

COPY INTO landing_table
FROM '/Volumes/quickstart_catalog/quickstart_schema/quickstart_volume/raw_data'
FILEFORMAT = PARQUET;

COPY INTO json_table
FROM '/Volumes/quickstart_catalog/quickstart_schema/quickstart_volume/raw_data/json'
FILEFORMAT = JSON;

A dbfs-sémával mennyiségi elérési utat is használhat. Például a következő parancsok is érvényesek:

COPY INTO landing_table
FROM 'dbfs:/Volumes/quickstart_catalog/quickstart_schema/quickstart_volume/raw_data'
FILEFORMAT = PARQUET;

COPY INTO json_table
FROM 'dbfs:/Volumes/quickstart_catalog/quickstart_schema/quickstart_volume/raw_data/json'
FILEFORMAT = JSON;

Adatok betöltése külső hely használatával

Az alábbi példa adatokat tölt be az ADLS Gen2-ből egy táblába a Unity Catalog külső helyeinek használatával, hogy hozzáférést biztosítson a forráskódhoz.

COPY INTO my_json_data
FROM 'abfss://container@storageAccount.dfs.core.windows.net/jsonData'
FILEFORMAT = JSON;

Külső hely jogosultságöröklése

A külső hely jogosultságai a megadott helyen lévő összes beágyazott könyvtárra vonatkoznak.

Ha például rendelkezik hozzáféréssel egy URL-címmel abfss://container@storageAccount.dfs.core.windows.net/raw-datadefiniált külső helyhez, a következő parancsok érvényesek:

COPY INTO landing_table
FROM 'abfss://container@storageAccount.dfs.core.windows.net/raw-data'
FILEFORMAT = PARQUET;

COPY INTO json_table
FROM 'abfss://container@storageAccount.dfs.core.windows.net/raw-data/json'
FILEFORMAT = JSON;

Ezen a külső helyen az engedélyek nem biztosítanak jogosultságot a megadott hely fölötti vagy párhuzamos címtárakhoz. Például az alábbi parancsok egyike sem érvényes:

COPY INTO parent_table
FROM 's3://landing-bucket'
FILEFORMAT = PARQUET;

COPY INTO sibling_table
FROM 's3://landing-bucket/json-data'
FILEFORMAT = JSON;

Háromszintű névtér céltáblákhoz

Egy Unity Catalog-táblát háromrétegű azonosítóval (<catalog_name>.<database_name>.<table_name>) célozhat meg. A USE CATALOG <catalog_name> USE <database_name> parancsokkal beállíthatja az aktuális lekérdezés vagy jegyzetfüzet alapértelmezett katalógusát és adatbázisát.