Tworzenie widoków i zarządzanie nimi
W tym artykule pokazano, jak tworzyć widoki w wykazie aparatu Unity. Zobacz Co to jest widok?.
Wymagane uprawnienia
Aby utworzyć widok:
- Musisz mieć
USE CATALOG
uprawnienie do katalogu nadrzędnego iUSE SCHEMA
uprawnień iCREATE TABLE
w schemacie nadrzędnym. Administrator magazynu metadanych lub właściciel wykazu może przyznać Ci wszystkie te uprawnienia. Właściciel schematu lub użytkownik z uprawnieniamiMANAGE
może udzielić Ci uprawnieńUSE SCHEMA
iCREATE TABLE
w schemacie. - Musisz mieć możliwość odczytania tabel i widoków, do których odwołuje się widok (
SELECT
w tabeli lub widoku, a takżeUSE CATALOG
w wykazie iUSE SCHEMA
schemacie). - Jeśli widok odwołuje się do tabel w magazynie metadanych Hive obszaru roboczego lokalnego, dostęp do widoku można uzyskać tylko z obszaru roboczego zawierającego tabele lokalne obszaru roboczego. Z tego powodu usługa Databricks zaleca tworzenie widoków tylko z tabel lub widoków, które znajdują się w magazynie metadanych wykazu aparatu Unity.
- Nie można utworzyć widoku, który odwołuje się do widoku, który został Ci udostępniony przy użyciu funkcji udostępniania różnicowego. Zobacz Co to jest udostępnianie różnicowe?.
Aby odczytać widok, wymagane uprawnienia zależą od typu obliczeniowego, wersji środowiska Databricks Runtime i trybu dostępu:
- W przypadku wszystkich zasobów obliczeniowych musisz mieć
SELECT
widok,USE CATALOG
katalog nadrzędny iUSE SCHEMA
schemat nadrzędny. Dotyczy to wszystkich typów obliczeniowych, które obsługują wykaz aparatu Unity, w tym magazyny SQL, klastry w trybie dostępu współdzielonego i klastry w trybie dostępu pojedynczego użytkownika w środowisku Databricks Runtime 15.4 lub nowszym. - W przypadku klastrów w środowisku Databricks Runtime 15.3 i poniżej korzystających z trybu dostępu pojedynczego użytkownika należy również mieć
SELECT
we wszystkich tabelach i widokach, do których odwołuje się widok, opróczUSE CATALOG
katalogów nadrzędnych iUSE SCHEMA
schematów nadrzędnych.
Uwaga
Jeśli używasz klastra pojedynczego użytkownika w środowisku Databricks Runtime 15.4 LTS i nowszym, a chcesz uniknąć wymagania SELECT
w przypadku bazowych tabel i widoków, sprawdź, czy obszar roboczy jest włączony dla obliczeń bezserwerowych.
Przetwarzanie bezserwerowe obsługuje filtrowanie danych, co umożliwia dostęp do widoku bez konieczności stosowania uprawnień do bazowych tabel i widoków. Pamiętaj, że w przypadku używania obliczeń pojedynczego użytkownika do wykonywania zapytań dotyczących widoków może być naliczane opłaty za obliczenia bezserwerowe. Aby uzyskać więcej informacji, zobacz Szczegółowe informacje dotyczące kontroli dostępu w obliczeniach pojedynczego użytkownika.
Utwórz widok
Aby utworzyć widok, uruchom następujące polecenie SQL. Elementy w nawiasach kwadratowych są opcjonalne. Zastąp wartości symboli zastępczych:
-
<catalog-name>
: nazwa wykazu. -
<schema-name>
: nazwa schematu. -
<view-name>
: nazwa widoku. -
<query>
: zapytanie, kolumny i tabele oraz widoki używane do tworzenia widoku.
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;
Aby na przykład utworzyć widok o nazwie sales_redacted
z kolumn w sales_raw
tabeli:
CREATE VIEW sales_metastore.sales.sales_redacted AS
SELECT
user_id,
email,
country,
product,
total
FROM sales_metastore.sales.sales_raw;
Widok można również utworzyć przy użyciu dostawcy narzędzia Terraform usługi Databricks i databricks_table. Listę pełnych nazw można pobrać przy użyciu databricks_views.
Usuwanie widoku
Aby usunąć widok, musisz być właścicielem widoku lub mieć uprawnienia MANAGE
w widoku. Aby usunąć widok, uruchom następujące polecenie SQL:
DROP VIEW IF EXISTS catalog_name.schema_name.view_name;