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.
Ez a cikk bemutatja, hogyan konfigurálhat materializált nézeteket a Databricks SQL-ben, beleértve az eredmények hozzáférés-vezérlését is. A legtöbb konfiguráció elvégezhető, amikor a materializált nézetet a CREATE OR REPLACE MATERIALIZED VIEW utasítással hozza létre, vagy a létrehozás után a ALTER TABLE utasítással.
Materializált nézet leírása
Egy materializált nézet oszlopainak és adattípusainak lekéréséhez használja a DESCRIBE utasítást. A materializált nézet oszlopainak, adattípusainak és metaadatainak(például tulajdonosának, helyének, létrehozási idejének és frissítési állapotának) lekéréséhez használja a következőt DESCRIBE EXTENDED: Utasítás elküldéséhez DESCRIBE használja az SQL-szerkesztőt az Azure Databricks felhasználói felületén, a Databricks SQL CLI-ben vagy a Databricks SQL API-ban.
Részletes információk a materializált nézetekről a Catalog Explorerrel
Alternatív megoldásként a Katalóguskezelővel is megtekintheti a materializált nézet részleteit.
- Kattintson
Katalógus az oldalsávon.
- A katalógusböngésző bal oldali katalógusfában nyissa meg a katalógust, és válassza ki azt a sémát, amelyben a materializált nézet található.
- Nyissa meg a Táblák elemet a kiválasztott séma alatt, és kattintson a materializált nézetre.
Innen a materializált nézet neve alatti fülek segítségével megtekintheti és szerkesztheti a materializált nézetre vonatkozó információkat, többek között a következőket:
- Frissítés állapota és ütemezése
- A folyamat részletei között megtekintheti a frissítések előzményeit, valamint az egyes frissítések részletes naplóit. A folyamat részleteinek megtekintéséhez kattintson a Frissítés részleteinek megtekintése elemre az Áttekintés lapon.
- A táblázatséma
- Mintaadatok (aktív számítást igényel)
- Permissions
- Életút, beleértve azokat a táblákat és folyamatokat, amelyektől ez a materializált nézet függ
- Betekintés a használatba
- A materializált nézethez létrehozott monitorok
A táblázat néhány tulajdonsága nem érhető el a Katalóguskezelőben. Ezekhez a tulajdonságokhoz vagy az információk programozott lekéréséhez használhatja a DESCRIBE EXTENDED parancsot.
Materializált nézet definíciójának frissítése
A materializált nézetet meghatározó lekérdezés annak definícióját adja meg. A materializált nézet definíciójának módosításához szerkessze a lekérdezést, vagy hozzon létre egy új CREATE VAGY REPLACE MATERIALIZED VIEW lekérdezést ugyanazzal a nézetnévvel, majd futtassa. A rendszer teljes frissítést hajt végre a materializált nézet frissítéséhez, a további frissítések pedig az új definíciót használják.
A materializált nézetekhez való hozzáférés szabályozása
A materializált nézetek a gazdag hozzáférés-vezérlést támogatják az adatmegosztás támogatásához, miközben elkerülik a potenciálisan privát adatok felfedését. A materializált nézet tulajdonosa vagy a MANAGE jogosultsággal rendelkező felhasználók jogosultságokat adhatnak SELECT más felhasználóknak. A materializált nézethez hozzáféréssel rendelkező SELECT felhasználóknak nem kell SELECT hozzáférni a materializált nézet által hivatkozott táblákhoz. Ez a hozzáférés-vezérlés lehetővé teszi az adatmegosztást a mögöttes adatokhoz való hozzáférés szabályozása közben.
A materializált nézet tulajdonosát is módosíthatja.
Jogosultságok megadása materializált nézethez
A materializált nézethez való hozzáférés biztosításához használja a következő utasítástGRANT:
GRANT <privilege_type> ON <mv_name> TO <principal>;
A privilege_type a következő lehet:
-
SELECT- a felhasználó képesSELECTa materializált nézetre. -
REFRESH- a felhasználó képesREFRESHa materializált nézetre. A frissítések a tulajdonos engedélyeinek használatával futnak.
Az alábbi példa egy materializált nézetet hoz létre, és kiválasztási és frissítési jogosultságokat biztosít a felhasználóknak:
CREATE MATERIALIZED VIEW mv_name AS SELECT * FROM source_table;
-- Grant read-only access:
GRANT SELECT ON mv_name TO read_only_user;
-- Grand read and refresh access:
GRANT SELECT ON mv_name TO refresh_user;
GRANT REFRESH ON mv_name TO refresh_user;
Jogosultságok visszavonása materializált nézetből
A materializált nézethez való hozzáférés visszavonásához használja a következő utasítástREVOKE:
REVOKE privilege_type ON <mv_name> FROM principal;
Ha SELECT a forrástáblán lévő jogosultságokat visszavonják a materializált nézet tulajdonosától vagy bármely más felhasználótól, akinek MANAGE vagy SELECT jogosultságokat adtak a materializált nézetben, vagy ha a forrástáblát is elvetik, a materializált nézet tulajdonosa vagy a hozzáféréssel rendelkező felhasználó továbbra is képes marad lekérdezni a materializált nézetet. A következő viselkedés azonban előfordul:
- A materializált nézet tulajdonosa vagy azok, akik elveszítették a hozzáférést egy materializált nézethez, már
REFRESHnem használhatják a materializált nézetet, és a materializált nézet elavulttá válik. - Ha ütemezéssel automatizálja, a következő ütemezett feladat
REFRESHmeghiúsul vagy nem fut.
Az alábbi példa visszavonja a SELECT jogosultságot read_only_user-től/-től.
REVOKE SELECT ON mv_name FROM read_only_user;
Materializált nézet tulajdonosának módosítása
A Databricks SQL-ben definiált materializált nézet engedélyeivel rendelkező MANAGE felhasználók új tulajdonost állíthatnak be a Katalóguskezelőn keresztül. Az új tulajdonos lehet saját maga vagy egy szolgáltatásnév, amelyen a szolgáltatásnév felhasználói szerepkörrel rendelkezik.
Az Azure Databricks-munkaterületen kattintson az
Katalógus a Katalóguskezelő megnyitásához.
Válassza ki a frissíteni kívánt materializált nézetet.
A jobb oldali oldalsávOn, az Erről a materializált nézetről csoportban keresse meg a Tulajdonos elemet, és kattintson a
Megjegyzés:
Ha megjelenik egy üzenet, amely arra utasítja, hogy frissítse a tulajdonost a folyamatbeállításokban a Futtatás másik felhasználóként opció módosításával, akkor a materializált nézet a Lakeflow Spark Deklaratív Folyamatokban van definiálva, nem pedig a Databricks SQL-ben. Az üzenet tartalmaz egy hivatkozást a folyamat beállításaira, ahol módosíthatja a futtatás felhasználóként lehetőséget .
Válasszon új tulajdonost a materializált nézethez.
A tulajdonosoknak automatikusan van
MANAGEésSELECTjogosultságuk az általuk birtokolt materializált nézetekre. Ha egy szolgáltatásazonosítót állít be egy materializált nézet tulajdonosaként, amely az ön tulajdonában van, és nem rendelkezik explicit módonSELECTvagyMANAGEjogosultságokkal a materializált nézethez, akkor ez a módosítás azt eredményezné, hogy elveszíti a materializált nézethez való teljes hozzáférését. Ebben az esetben a rendszer arra kéri, hogy explicit módon adja meg ezeket a jogosultságokat.Válassza mind a MANAGE, mind a GrantSELECT jogosultságokat, hogy ezeket a mentés során megadja.
Kattintson a Mentés gombra a tulajdonos módosításához.
A materializált nézet tulajdonosának adatai frissülnek. Az összes jövőbeli frissítés az új tulajdonos identitásával fut.
Amikor a tulajdonos elveszíti a forrástáblákra vonatkozó jogosultságokat
Ha módosítja a tulajdonost, és az új tulajdonos nem fér hozzá a forrástáblákhoz (vagy SELECT visszavonja a jogosultságokat az alapul szolgáló forrástáblákon), a felhasználók továbbra is lekérdezhetik a materializált nézetet. Azonban:
- Nem tudják
REFRESHa materializált nézetet. - A materializált nézet következő ütemezett frissítése sikertelen lesz.
A forrásadatokhoz való hozzáférés elvesztése megakadályozza a frissítéseket, de nem érvényteleníti azonnal a meglévő materializált nézet olvasását.
A futtatási csatorna beállítása
Az SQL Warehouse-okkal létrehozott materializált nézetek automatikusan frissülnek egy folyamat használatával. Csővezetékek alapértelmezés szerint a current csatornában használják a futtatókörnyezetet. A kiadási folyamatról további információt a Lakeflow Spark Deklaratív folyamatok kibocsátási megjegyzései és a kiadásfrissítési folyamat című témakörben talál.
A Databricks azt javasolja, hogy a current csatornát használja éles számítási feladatokhoz. Az új funkciók először megjelennek a preview csatornán. Az új funkciók teszteléséhez beállíthat egy csövezetet az előzetes megtekintési csatornára, a preview beállítása révén, mint táblatulajdonság. Ezt a tulajdonságot a tábla létrehozásakor vagy a tábla alter utasítással történő létrehozása után adhatja meg.
Az alábbi példakód bemutatja, hogyan állíthatja be a csatornát előzetes verzióra a CREATE utasításban:
CREATE OR REPLACE MATERIALIZED VIEW sales
TBLPROPERTIES ('pipelines.channel' = 'preview')
AS ...
A csatorna létrehozás utáni módosításához használja a következő utasítást ALTER TABLE :
ALTER TABLE <table-name> SET TBLPROPERTIES ('pipelines.channel' = 'preview');