Külső hely létrehozása a felhőbeli tárolók Azure Databrickshez való csatlakoztatásához
Ez a cikk azt ismerteti, hogyan konfigurálhat egy külső helyet a Unity Katalógusban a felhőbeli tároló Azure Databrickshez való csatlakoztatásához.
A külső helyek a Unity Catalog tárolási hitelesítő adatait társítják a felhőbeli objektumtárolókhoz. A külső helyek a katalógusok és sémák felügyelt tárolási helyeinek meghatározására, valamint a külső táblák és külső kötetek helyének meghatározására szolgálnak.
Létrehozhat egy külső helyet, amely egy Azure Data Lake Storage Gen2 tárolóban vagy Cloudflare R2-gyűjtőben lévő tárolóra hivatkozik.
Külső helyet a Catalog Explorer, a Databricks parancssori felület, a jegyzetfüzetben lévő SQL-parancsok, a Databricks SQL-lekérdezés vagy a Terraform használatával hozhat létre.
Feljegyzés
Kötet definiálásakor a kötet elérési útján lévő adatokhoz való felhőalapú URI-hozzáférést a kötet engedélyei szabályozzák.
Előkészületek
Előfeltételek:
A külső helyobjektum Azure Databricksben való létrehozása előtt létre kell hoznia a külső helyként használni kívánt Azure Data Lake Storage Gen2-tárolót vagy Cloudflare R2-tárolót.
A külső helyként használt Azure Data Lake Storage Gen2-tárfiókoknak hierarchikus névtérrel kell rendelkezniük.
Az Azure Databricksben definiált tárolási hitelesítő adatokkal kell rendelkeznie, amely hozzáférést biztosít a felhőbeli tárolóhely elérési útjának eléréséhez. Lásd: Tároló hitelesítő adatainak létrehozása az Azure Data Lake Storage Gen2-hez való csatlakozáshoz, valamint egy tároló hitelesítő adatainak létrehozása a Cloudflare R2-hez való csatlakozáshoz.
Engedélykövetelmények:
- Rendelkeznie kell a
CREATE EXTERNAL LOCATION
jogosultsággal a metaadattárban és a külső helyen hivatkozott tárolási hitelesítő adatokon is. A metaadattár-rendszergazdák alapértelmezés szerint a metaadattárban vannakCREATE EXTERNAL LOCATION
.
Külső hely manuális létrehozása a Catalog Explorerrel
A Katalóguskezelővel manuálisan is létrehozhat külső helyet.
Engedélyek és előfeltételek: lásd a kezdés előtt.
A külső hely létrehozása:
Jelentkezzen be a metaadattárhoz csatolt munkaterületre.
Az oldalsávon kattintson a Katalógus gombra .
A Katalógus panel tetején kattintson a Hozzáadás ikonra, és válassza a Külső hely hozzáadása lehetőséget a menüből.
Másik lehetőségként a Gyorselérési lapon kattintson a Külső adatok >gombra, lépjen a Külső helyek lapra, és kattintson a Hely létrehozása parancsra.
Adjon meg egy külső helynevet.
Igény szerint másolja a tároló elérési útját egy meglévő csatlakoztatási pontról (csak Azure Data Lake Storage Gen2-tárolók esetén).
Ha nem egy meglévő csatlakoztatási pontról másol, az URL-mezővel adja meg a tárolót vagy az R2 gyűjtő elérési útját, amelyet külső helyként szeretne használni.
Például,
abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path>
vagyr2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>
.Válassza ki azt a tárolási hitelesítő adatot, amely hozzáférést biztosít a külső helyhez.
(Nem kötelező) Ha azt szeretné, hogy a felhasználók csak olvasási hozzáféréssel rendelkezzenek a külső helyhez, kattintson a Speciális beállítások elemre , és válassza a Csak olvasás lehetőséget. További információ: Külső hely megjelölése írásvédettként.
Kattintson a Létrehozás gombra.
(Nem kötelező) A külső hely kötése adott munkaterületekhez.
Alapértelmezés szerint bármely kiemelt felhasználó használhatja a metaadattárhoz csatolt munkaterület külső helyét. Ha csak bizonyos munkaterületekről szeretné engedélyezni a hozzáférést, lépjen a Munkaterületek lapra, és rendeljen hozzá munkaterületeket. Lásd : (Nem kötelező) Külső hely hozzárendelése adott munkaterületekhez.
Adjon engedélyt a külső hely használatára.
Ahhoz, hogy bárki használhassa a külső helyet, engedélyeket kell adnia:
- Ha a külső hely használatával szeretne hozzáadni egy felügyelt tárolóhelyet a metaadattárhoz, katalógushoz vagy sémához, adja meg a
CREATE MANAGED LOCATION
jogosultságot. - Külső táblák vagy kötetek létrehozásához adja meg
CREATE EXTERNAL TABLE
vagyCREATE EXTERNAL VOLUME
.
A Catalog Explorer használata engedélyek megadásához:
- A részletek panel megnyitásához kattintson a külső hely nevére.
- Az Engedélyek lapon kattintson az Engedélyezés gombra.
- A Megadás párbeszédpanelen
<external location>
válassza ki a felhasználókat, csoportokat vagy szolgáltatásneveket az Egyszerűk mezőben, és válassza ki a megadni kívánt jogosultságot. - Kattintson a Grant gombra.
- Ha a külső hely használatával szeretne hozzáadni egy felügyelt tárolóhelyet a metaadattárhoz, katalógushoz vagy sémához, adja meg a
Külső hely létrehozása az SQL használatával
Ha sql használatával szeretne külső helyet létrehozni, futtassa a következő parancsot egy jegyzetfüzetben vagy az SQL-lekérdezésszerkesztőben. Cserélje le a helyőrző értékeket.
Engedélyek és előfeltételek: lásd a kezdés előtt.
<location-name>
: A külső hely neve. Halocation_name
speciális karaktereket, például kötőjeleket (-
) tartalmaz, akkor azokat háttérjelekkel (` `
) kell körülvenni. Lásd a neveket.<bucket-path>
: A felhőbeli bérlő azon elérési útja, amelyhez ez a külső hely hozzáférést biztosít. Például,abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path>
vagyr2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>
.<storage-credential-name>
: Annak a tárolási hitelesítő adatnak a neve, amely engedélyezi az olvasást a tárolóból vagy a gyűjtő elérési útján. Ha a tároló hitelesítő adatainak neve speciális karaktereket, például kötőjeleket (-
) tartalmaz, akkor azt háttértitkokkal (` `
) kell körülvenni.
CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];
Ha korlátozni szeretné a fiókban lévő adott munkaterületek külső helyhez való hozzáférését, más néven munkaterületkötést vagy külső helyelkülönítést, olvassa el a (Nem kötelező) Külső hely hozzárendelése adott munkaterületekhez című témakört.
(Nem kötelező) Külső hely hozzárendelése adott munkaterületekhez
Fontos
Ez a funkció a nyilvános előzetes verzióban érhető el.
Alapértelmezés szerint egy külső hely a metaadattár összes munkaterületéről elérhető. Ez azt jelenti, hogy ha egy felhasználó jogosultságot (például READ FILES
) kapott ezen a külső helyen, akkor ezt a jogosultságot a metaadattárhoz csatolt munkaterületről is gyakorolhatja. Ha munkaterületek használatával elkülöníti a felhasználói adatokhoz való hozzáférést, előfordulhat, hogy csak bizonyos munkaterületekről szeretné engedélyezni a külső helyhez való hozzáférést. Ezt a funkciót munkaterület-kötésnek vagy külső helyelkülönítésnek nevezzük.
A külső helyek adott munkaterületekhez való kötésének tipikus használati esetei a következők:
- Annak biztosítása, hogy az
CREATE EXTERNAL TABLE
éles adatokat tartalmazó külső helyen jogosultsággal rendelkező adatmérnökök csak egy éles munkaterületen hozhatnak létre külső táblákat ezen a helyen. - Annak biztosítása, hogy azok az
READ FILES
adatmérnökök, akik bizalmas adatokat tartalmazó külső helyen rendelkeznek jogosultsággal, csak adott munkaterületeken férhessenek hozzá az adatokhoz.
Az egyéb típusú adathozzáférések munkaterület szerinti korlátozásáról további információt a katalógus adott munkaterületekhez való hozzáférésének korlátozása című témakörben talál.
Fontos
A munkaterület-kötésekre akkor hivatkozunk, amikor a külső helyhez való jogosultságok gyakorolva vannak. Ha például egy felhasználó külső táblát hoz létre a munkaterületről myWorkspace
származó utasítás CREATE TABLE myCat.mySch.myTable LOCATION 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance'
kiadásával, a rendszer a rendszeres felhasználói jogosultság-ellenőrzések mellett a következő munkaterület-kötési ellenőrzéseket hajtja végre:
- A külső hely a
'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance'
következőhözmyWorkspace
van kötve? - A katalógus
myCat
hozzáférési szinttelRead & Write
van kötvemyWorkspace
?
Ha a külső hely később kötetlen myWorkspace
, akkor a külső tábla továbbra is működik.
Ez a funkció azt is lehetővé teszi, hogy egy katalógust egy központi munkaterületről töltse ki, és katalóguskötések használatával elérhetővé tegye más munkaterületek számára anélkül, hogy a külső helyet elérhetővé kellene tennie a többi munkaterületen.
Külső hely kötése egy vagy több munkaterülethez
Ha külső helyet szeretne hozzárendelni adott munkaterületekhez, használhatja a Catalog Explorert vagy a Databricks parancssori felületét.
Szükséges engedélyek: Metaadattár-rendszergazda vagy külső hely tulajdonosa.
Feljegyzés
A metaadattár-rendszergazdák a Katalóguskezelővel láthatják a metaadattár összes külső helyét – a külső helytulajdonosok pedig megtekinthetik a metaadattárban lévő összes külső helyet, függetlenül attól, hogy a külső hely az aktuális munkaterülethez van-e rendelve. A munkaterülethez nem rendelt külső helyek szürkén jelennek meg.
Katalóguskezelő
Jelentkezzen be a metaadattárhoz csatolt munkaterületre.
Az oldalsávon kattintson a Katalógus gombra .
A Katalógus panel tetején kattintson a fogaskerék ikonra, és válassza a Külső helyek lehetőséget.
Másik lehetőségként a Gyorselérési lapon a Külső adatok >gombra kattintva lépjen a Külső helyek lapra.
Válassza ki a külső helyet, és lépjen a Munkaterületek lapra.
A Munkaterületek lapon törölje a jelet a Minden munkaterület hozzáférése jelölőnégyzetből.
Ha a külső hely már egy vagy több munkaterülethez van kötve, ez a jelölőnégyzet már ki van jelölve.
Kattintson a Munkaterületek hozzárendelése gombra, és adja meg vagy keresse meg a hozzárendelni kívánt munkaterületeket.
A hozzáférés visszavonásához lépjen a Munkaterületek lapra, jelölje ki a munkaterületet, és kattintson a Visszavonás gombra. Ha minden munkaterületről engedélyezni szeretné a hozzáférést, jelölje be a Minden munkaterület hozzáféréssel jelölőnégyzetet.
CLI
Két Databricks CLI-parancscsoport és két lépés szükséges egy külső hely munkaterülethez való hozzárendeléséhez.
Az alábbi példákban cserélje le <profile-name>
az Azure Databricks-hitelesítési konfigurációs profil nevét. Tartalmaznia kell egy személyes hozzáférési jogkivonat értékét a munkaterület-példány neve és a munkaterület azonosítója mellett, ahol a személyes hozzáférési jogkivonatot létrehozta. Tekintse meg az Azure Databricks személyes hozzáférési jogkivonatának hitelesítését.
external-locations
A parancscsoport parancsávalupdate
állítsa a külső hely helyétisolation mode
a következőreISOLATED
:databricks external-locations update <my-location> \ --isolation-mode ISOLATED \ --profile <profile-name>
Az alapértelmezett
isolation-mode
beállítás aOPEN
metaadattárhoz csatolt összes munkaterületre igaz.workspace-bindings
A parancscsoport parancsávalupdate-bindings
rendelje hozzá a munkaterületeket a külső helyhez:databricks workspace-bindings update-bindings external-location <my-location> \ --json '{ "add": [{"workspace_id": <workspace-id>}...], "remove": [{"workspace_id": <workspace-id>}...] }' --profile <profile-name>
A munkaterület-kötések hozzáadásához vagy
"remove"
eltávolításához használja a"add"
tulajdonságokat és a tulajdonságokat.Feljegyzés
Az írásvédett kötés (
BINDING_TYPE_READ_ONLY
) nem érhető el külső helyeken. Ezért nincs ok a külső helyek kötésének beállításárabinding_type
.
Egy külső hely összes munkaterület-hozzárendelésének listázásához használja a workspace-bindings
parancscsoport parancsát get-bindings
:
databricks workspace-bindings get-bindings external-location <my-location> \
--profile <profile-name>
Lásd még a munkaterület-kötéseket a REST API-referenciaban.
Külső hely kötésének megszüntetése munkaterületről
A Katalóguskezelő vagy a workspace-bindings
CLI parancscsoport használatával a munkaterület külső helyekhez való hozzáférésének visszavonására vonatkozó utasításokat a Külső hely kötése egy vagy több munkaterülethez című témakör tartalmazza.
Következő lépések
- Adjon más felhasználóknak engedélyt külső helyek használatára. Lásd: Külső helyek kezelése.
- Felügyelt tárolóhelyek definiálása külső helyek használatával. Lásd: Felügyelt tárhely megadása a Unity Katalógusban.
- Külső táblák definiálása külső helyek használatával. Lásd: Külső táblákkal végzett munka.
- Külső kötetek definiálása külső helyek használatával. Lásd: Mik azok a Unity Catalog-kötetek?.