Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Skonfiguruj samodzielne zmaterializowane widoki, w tym kontrolę dostępu do wyników, podczas tworzenia zmaterializowanego widoku za pomocą polecenia CREATE OR REPLACE MATERIALIZED VIEW lub po jego utworzeniu za pomocą polecenia ALTER TABLE.
Opisywanie zmaterializowanego widoku
Aby pobrać kolumny i typy danych dla zmaterializowanego widoku, użyj instrukcji DESCRIBE. Aby pobrać kolumny, typy danych i metadane, takie jak właściciel, lokalizacja, czas tworzenia i stan odświeżania dla zmaterializowanego widoku, użyj polecenia DESCRIBE EXTENDED. Aby przesłać instrukcję DESCRIBE , użyj edytora SQL w interfejsie użytkownika usługi Azure Databricks, interfejsie wiersza polecenia SQL usługi Databricks lub interfejsie API SQL usługi Databricks.
Uzyskaj szczegółowe informacje o zmaterializowanych widokach za pomocą Eksploratora Katalogu
Możesz również użyć Eksploratora wykazu , aby wyświetlić szczegóły dotyczące zmaterializowanego widoku.
- Kliknij
Wykaz na pasku bocznym.
- W drzewie po lewej stronie w Eksploratorze Katalogów otwórz katalog i wybierz schemat, w którym znajduje się zmaterializowany widok.
- Otwórz element Tables w wybranym schemacie i kliknij na zmaterializowany widok.
W tym miejscu możesz użyć kart pod nazwą zmaterializowanego widoku, aby wyświetlić i edytować informacje o zmaterializowanym widoku, w tym:
- Odśwież stan i harmonogram
- Zobacz szczegóły potoku, aby wyświetlić historię odświeżeń i szczegółowe dzienniki dla każdego odświeżania. Kliknij pozycję Zobacz szczegóły odświeżania na karcie Przegląd, aby zobaczyć szczegóły pipelines.
- Schemat tabeli
- Przykładowe dane (wymagają aktywnego obliczenia)
- Permissions
- Pochodzenie, w tym tabele i potoki, od których zależy ten zmaterializowany widok
- Szczegółowe informacje o użyciu
- Monitory utworzone dla tego zmaterializowanego widoku
Istnieje kilka właściwości tabeli, które nie są dostępne w Eksploratorze wykazu. W przypadku tych właściwości lub aby uzyskać informacje programowo, możesz użyć polecenia DESCRIBE EXTENDED.
Aktualizowanie definicji zmaterializowanego widoku
Zapytanie określające zmaterializowany widok jest jego definicją. Aby zmienić definicję zmaterializowanego widoku, zmodyfikuj zapytanie lub utwórz nowe zapytanie CREATE OR REPLACE MATERIALIZED VIEW o tej samej nazwie widoku, a następnie uruchom je. Pełne odświeżanie jest wykonywane w celu zaktualizowania zmaterializowanego widoku i dalsze odświeżenia używają nowej definicji.
Kontrola dostępu do zmaterializowanych widoków
Zmaterializowane widoki obsługują zaawansowane mechanizmy kontroli dostępu do obsługi udostępniania danych, jednocześnie unikając uwidaczniania potencjalnie prywatnych danych. Zmaterializowany właściciel widoku lub użytkownik z MANAGE uprawnieniami może udzielić SELECT uprawnień innym użytkownikom. Użytkownicy z dostępem SELECT do zmaterializowanego widoku nie potrzebują SELECT dostępu do tabel, do których odwołuje się zmaterializowany widok. Ta kontrola dostępu umożliwia udostępnianie danych podczas kontrolowania dostępu do danych bazowych.
Możesz również zmienić właściciela zmaterializowanego widoku.
Udzielanie uprawnień do zmaterializowanego widoku
Aby udzielić dostępu do zmaterializowanego widoku, użyj instrukcjiGRANT :
GRANT <privilege_type> ON <mv_name> TO <principal>;
Privilege_type może być:
-
SELECT— użytkownik możeSELECTzmaterializować widok. -
REFRESH— użytkownik możeREFRESHzmaterializować widok. Operacje odświeżania są uruchamiane przy użyciu uprawnień właściciela.
Poniższy przykład tworzy zmaterializowany widok i przyznaje użytkownikom uprawnienia wyboru i odświeżania:
CREATE MATERIALIZED VIEW mv_name AS SELECT * FROM source_table;
-- Grant read-only access:
GRANT SELECT ON mv_name TO read_only_user;
-- Grant read and refresh access:
GRANT SELECT ON mv_name TO refresh_user;
GRANT REFRESH ON mv_name TO refresh_user;
Cofnięcie uprawnień z zmaterializowanego widoku
Aby cofnąć dostęp do zmaterializowanego widoku, użyj instrukcjiREVOKE :
REVOKE privilege_type ON <mv_name> FROM principal;
Gdy uprawnienia SELECT do tabeli źródłowej zostaną cofnięte właścicielowi zmaterializowanego widoku lub innemu użytkownikowi, któremu przyznano uprawnienia MANAGE lub SELECT do zmaterializowanego widoku, lub gdy tabela źródłowa zostanie usunięta, właściciel zmaterializowanego widoku lub użytkownik, któremu udzielono dostępu, nadal może wykonywać zapytania dotyczące zmaterializowanego widoku. Jednak występuje następujące zachowanie:
- Właściciel widoku zmaterializowanego lub inne osoby, które utraciły do niego dostęp, nie mogą już
REFRESHtego widoku zmaterializowanego, a widok zmaterializowany staje się nieaktualny. - Jeśli jest zautomatyzowane zgodnie z harmonogramem, kolejna zaplanowana
REFRESHnie powiedzie się lub nie zostanie uruchomiona.
Poniższy przykład odbiera SELECT uprawnienie dla read_only_user.
REVOKE SELECT ON mv_name FROM read_only_user;
Zmienianie właściciela zmaterializowanego widoku
Użytkownik z uprawnieniami MANAGE do autonomicznego zmaterializowanego widoku może ustawić nowego właściciela za pośrednictwem Eksploratora wykazu. Nowy właściciel może być sobą lub jednostką usługi, która posiada rolę użytkownika jednostki usługi.
W obszarze roboczym usługi Azure Databricks kliknij
Wykaz umożliwiający otwarcie Eksploratora wykazu.
Wybierz zmaterializowany widok, który chcesz zaktualizować.
Na prawym pasku bocznym w obszarze Informacje o tym zmaterializowanym widoku znajdź Właściciel i kliknij
Uwaga / Notatka
Jeśli zostanie wyświetlony komunikat informujący o zaktualizowaniu właściciela przez zmianę ustawienia Uruchom jako użytkownika w ustawieniach potoku, zmaterializowany widok jest zdefiniowany w potoku Lakeflow, a nie jako tabela autonomiczna. Komunikat zawiera link do ustawień potoku, w którym można zmienić użytkownika Uruchom jako .
Wybierz nowego właściciela dla zmaterializowanego widoku.
Właściciele automatycznie mają
MANAGEiSELECTuprawnienia na zmaterializowane widoki, których są właścicielami. Jeśli ustawiasz jednostkę usługi jako właściciela zmaterializowanego widoku, którego jesteś właścicielem, i nie masz jawnie uprawnieńSELECTlubMANAGEdo zmaterializowanego widoku, ta zmiana spowoduje utratę wszelkiego dostępu do zmaterializowanego widoku. W takim przypadku zostanie wyświetlony monit o jawne podanie tych uprawnień.Wybierz opcję Udziel zarządzania i Udziel SELECT uprawnień, aby podać te uprawnienia w obszarze Zapisz.
Kliknij przycisk Zapisz , aby zmienić właściciela.
Właściciel zmaterializowanego widoku jest aktualizowany. Wszystkie przyszłe operacje odświeżania są uruchamiane przy użyciu tożsamości nowego właściciela.
Gdy właściciel utraci uprawnienia do tabel źródłowych
Jeśli zmienisz właściciela, a nowy właściciel nie ma dostępu do tabel źródłowych (lub SELECT uprawnienia zostaną odwołane w podstawowych tabelach źródłowych), użytkownicy nadal będą mogli wykonywać zapytania dotyczące zmaterializowanego widoku. Jednak:
- Nie mogą zmaterializować widoku
REFRESH. - Następne zaplanowane odświeżanie zmaterializowanego widoku kończy się niepowodzeniem.
Utrata dostępu do danych źródłowych uniemożliwia wykonywanie aktualizacji, ale nie powoduje natychmiastowego unieważnienia istniejącego zmaterializowanego widoku pod kątem odczytu.
Wersja środowiska uruchomieniowego
Widoki materializowane zawsze działają na najnowszej wersji uruchomieniowej Databricks SQL. Właściwość pipelines.channel, używana wcześniej do wybierania kanału środowiska uruchomieniowego preview lub current, nie jest już obsługiwana i nie wywołuje żadnego skutku. Jeśli istniejąca definicja zawiera tę właściwość, jest ona bezpiecznie ignorowana i nie trzeba jej usuwać.