Co to jest widok?
Widok jest obiektem tylko do odczytu, który jest wynikiem zapytania na jednej lub więcej tabelach i widokach w katalogu Unity. Widok można utworzyć na podstawie tabel i innych widoków w wielu schematach i katalogach.
W tym artykule opisano widoki, które można utworzyć w usłudze Azure Databricks, oraz objaśnienie uprawnień i zasobów obliczeniowych wymaganych do wykonywania zapytań.
Aby uzyskać informacje o tworzeniu widoków, zobacz:
Widoki w Unity Catalog
W katalogu Unity, widoki znajdują się na trzecim poziomie trójpoziomowej przestrzeni nazw (catalog.schema.view
):
Widok przechowuje tekst zapytania zazwyczaj względem co najmniej jednego źródła danych lub tabel w magazynie metadanych. W usłudze Azure Databricks widok jest odpowiednikiem ramki danych Platformy Spark utrwalonej jako obiekt w schemacie. W przeciwieństwie do ramek danych można wykonywać zapytania o widoki z dowolnego miejsca w usłudze Azure Databricks, przy założeniu, że masz do tego uprawnienia. Tworzenie widoku nie przetwarza ani nie zapisuje żadnych danych. Tylko tekst zapytania jest zarejestrowany w magazynie metadanych w skojarzonym schemacie.
Uwaga
Widoki mogą mieć różną semantykę wykonywania, jeśli są one oparte na źródłach danych innych niż Tabele Delta. Usługa Databricks zaleca, aby zawsze definiować widoki przez odwoływanie się do źródeł danych przy użyciu nazwy tabeli lub widoku. Definiowanie widoków względem zestawów danych przez określenie ścieżki lub identyfikatora URI może prowadzić do niejasnych wymagań dotyczących zarządzania danymi.
Zmaterializowane widoki
Zmaterializowane widoki przyrostowo obliczają i aktualizują wyniki zwracane przez zapytanie definiujące.
Możesz zarejestrować zmaterializowane widoki w katalogu Unity Catalog przy użyciu języka SQL usługi Databricks lub zdefiniować je jako część potoku Delta Live Tables. Zobacz Użyj widoków materializowanych w Databricks SQL i Czym są Delta Live Tables?.
Widoki tymczasowe
Widok tymczasowy ma ograniczony zakres i trwałość i nie jest zarejestrowany w schemacie ani wykazie. Okres istnienia widoku tymczasowego różni się w zależności od używanego środowiska:
- W notesach i zadaniach widoki tymczasowe są ograniczone do poziomu notesu lub skryptu. Nie można odwoływać się do nich poza notesem, w którym są deklarowane i nie istnieją już, gdy notes odłącza się od klastra.
- W usłudze Databricks SQL widoki tymczasowe są ograniczone do poziomu zapytania. Wiele instrukcji w ramach tego samego zapytania może używać widoku tymczasowego, ale nie można odwoływać się do nich w innych zapytaniach, nawet w obrębie tego samego pulpitu nawigacyjnego.
Widoki dynamiczne
Widoki dynamiczne mogą służyć do zapewniania kontroli dostępu na poziomie wiersza i kolumny oprócz maskowania danych. Zobacz Tworzenie widoku dynamicznego.
Widoki w magazynie metadanych Hive (starsza wersja)
Można zdefiniować starsze widoki hive dla dowolnego źródła danych i zarejestrować je w starszym magazynie metadanych Hive. Databricks zaleca migrowanie wszystkich starszych widoków programu Hive do wykazu Unity Catalog. Zobacz widoki w magazynie metadanych Hive.
Globalny widok tymczasowy hive (starsza wersja)
Globalne widoki tymczasowe to starsza funkcja usługi Azure Databricks, która umożliwia rejestrowanie widoku tymczasowego dostępnego dla wszystkich obciążeń uruchomionych względem zasobu obliczeniowego. Globalne widoki tymczasowe to pozostałości z poprzednich wersji technologii Hive i HDFS. Usługa Databricks odradza używanie globalnych widoków tymczasowych.
wymagania dotyczące wykonywania zapytań dotyczących widoków
Aby odczytać widoki zarejestrowane w katalogu Unity, wymagane uprawnienia zależą od typu obliczeniowego, wersji Databricks Runtime i trybu dostępu:
- W przypadku wszystkich zasobów obliczeniowych musisz mieć
SELECT
w samym widoku,USE CATALOG
w katalogu nadrzędnym iUSE SCHEMA
w schemacie nadrzędnym. Dotyczy to wszystkich typów obliczeniowych, które obsługują Unity Catalog, w tym magazyny SQL, klastry w trybie współdzielonym i klastry w trybie pojedynczego użytkownika w środowisku Databricks Runtime 15.4 lub nowszym. - W przypadku klastrów w Databricks Runtime w wersji 15.3 i niższych korzystających z trybu dostępu dla pojedynczego użytkownika, należy również posiadać
SELECT
we wszystkich tabelach i widokach, do których odwołuje się widok, orazUSE CATALOG
w nadrzędnych katalogach iUSE SCHEMA
w nadrzędnych schematach.
Uwaga
Jeśli używasz klastra pojedynczego użytkownika w środowisku Databricks Runtime 15.4 LTS lub nowszym i chcesz uniknąć wymagania SELECT
w podstawowych tabelach i widokach, sprawdź, czy obszar roboczy jest włączony dla bezserwerowychobliczeniowych.
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ółową kontrolę dostępu w przypadku komputerów pojedynczego użytkownika.