Nézetek létrehozása és kezelése
Ez a cikk bemutatja, hogyan hozhat létre nézeteket a Unity Catalogban. Lásd : Mi az a nézet?.
Szükséges engedélyek
Nézet létrehozása:
- Rendelkeznie kell a
USE CATALOG
szülőkatalógus engedélyével, valamint aUSE SCHEMA
szülőséma engedélyévelCREATE TABLE
. A metaadattár rendszergazdája vagy a katalógus tulajdonosa mindezeket a jogosultságokat megadhatja. A séma tulajdonosa adhat ÖnnekUSE SCHEMA
ésCREATE TABLE
jogosultságokat a sémához. - A nézetben (
SELECT
a táblázatban vagy nézetben, valamintUSE CATALOG
a katalógusban és a sémában) hivatkozott táblákat ésUSE SCHEMA
nézeteket el kell tudni olvasnia. - Ha egy nézet a munkaterület-helyi Hive metaadattár tábláira hivatkozik, a nézet csak a munkaterület-helyi táblákat tartalmazó munkaterületről érhető el. Ezért a Databricks azt javasolja, hogy csak a Unity Catalog metaadattárában található táblákból vagy nézetekből hozzon létre nézeteket.
- Nem hozhat létre olyan nézetet, amely a Delta Sharing használatával megosztott nézetre hivatkozik. Lásd : Mi az a deltamegosztás?.
A nézetek olvasásához a szükséges engedélyek a számítási típustól, a Databricks Futtatókörnyezet verziójától és a hozzáférési módtól függnek:
A Databricks Runtime 15.4-ben és újabb verziókban, megosztott számítási erőforrásokban és SQL-raktárakban található egyfelhasználós számítási erőforrásokhoz magának a nézetnek,
USE CATALOG
a szülőkatalógusnak ésUSE SCHEMA
a szülőséma számára is szüksége vanSELECT
.Feljegyzés
Ha egyfelhasználós számítási erőforrást használ a Databricks Runtime 15.4 LTS-en és újabb verziókon, akkor azt is ellenőriznie kell, hogy a munkaterület engedélyezve van-e a kiszolgáló nélküli számításhoz, amely a nézet elérését támogató adatszűrési funkciókat futtatja anélkül, hogy hozzáférést kellene igényelnie a nézet alapjául szolgáló táblákhoz és nézetekhez. Ezért előfordulhat, hogy a kiszolgáló nélküli számítási erőforrásokért díjat kell fizetnie, ha egyfelhasználós számítást használ a nézetek lekérdezéséhez. Lásd az egyfelhasználós számítás részletes hozzáférés-vezérlését. A Databricks Runtime 15.4-et és a kiszolgáló nélküli számítást használó adatszűrés nyilvános előzetes verzióban érhető el.
A Databricks Runtime 15.3-ban és az alatta lévő egyfelhasználós számítási erőforrásokhoz az összes olyan táblán és nézeten is rendelkeznie
SELECT
kell, amelyekre a nézet hivatkozik, a szülőkatalógusaikon ésUSE SCHEMA
a szülősémaikon kívülUSE CATALOG
.
Nézet létrehozása
Nézet létrehozásához futtassa a következő SQL-parancsot. A szögletes zárójelek nem kötelezőek. Cserélje le a helyőrző értékeket:
<catalog-name>
: A katalógus neve.<schema-name>
: A séma neve.<view-name>
: A nézet neve.<query>
: A nézet létrehozásához használt lekérdezés, oszlopok, táblák és nézetek.
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;
Például a tábla oszlopaiból sales_raw
elnevezett sales_redacted
nézet létrehozása:
CREATE VIEW sales_metastore.sales.sales_redacted AS
SELECT
user_id,
email,
country,
product,
total
FROM sales_metastore.sales.sales_raw;
Nézetet a Databricks Terraform szolgáltatóval és databricks_table is létrehozhat. Az databricks_views használatával lekérheti a teljes nézetnevek listáját.
Nézet elvetése
A nézet elvetéséhez a nézet tulajdonosának kell lennie. Nézet elvetéséhez futtassa a következő SQL-parancsot:
DROP VIEW IF EXISTS catalog_name.schema_name.view_name;