Použití materializovaných zobrazení v Databricks SQL
Tento článek popisuje, jak vytvářet a používat materializovaná zobrazení v Databricks SQL ke zlepšení výkonu a snížení nákladů na úlohy zpracování a analýzy dat.
Poznámka:
Pokud chcete použít připojení Azure Private Link s materializovaným zobrazením, obraťte se na obchodního zástupce Databricks.
Důležité
Materializovaná zobrazení vytvořená v Databricks SQL jsou podporována bezserverovým kanálem DLT. Aby se tato funkce používala, musí váš pracovní prostor podporovat bezserverové kanály.
Co jsou materializovaná zobrazení?
V Databricks SQL jsou materializovaná zobrazení spravovanými tabulkami Katalogu Unity, které uživatelům umožňují předkompilace výsledků na základě nejnovější verze dat ve zdrojových tabulkách. Materializovaná zobrazení v Azure Databricks se liší od jiných implementací, protože vrácené výsledky odrážejí stav dat, když se materializované zobrazení naposledy aktualizovalo, než aby vždy aktualizovaly výsledky při dotazování materializovaného zobrazení. Můžete ručně aktualizovat materializovaná zobrazení nebo naplánovat aktualizace.
Materializovaná zobrazení jsou výkonná pro úlohy zpracování dat, jako je extrakce, transformace a načítání (ETL). Materializovaná zobrazení poskytují jednoduchý, deklarativní způsob zpracování dat pro dodržování předpisů, opravy, agregace nebo obecné zachytávání dat změn (CDC). Materializovaná zobrazení snižují náklady a zlepšují latenci dotazů předběžným výpočtem pomalých dotazů a často používaných výpočtů. Materializovaná zobrazení také umožňují snadno použitelné transformace čištěním, rozšiřováním a denormalizací základních tabulek. Materializovaná zobrazení můžou snížit náklady a zároveň poskytnout zjednodušené prostředí pro koncové uživatele, protože v některých případech můžou přírůstkově vypočítat změny ze základních tabulek.
Materializovaná zobrazení byla poprvé podporována v Azure Databricks se spuštěním DLT. Když vytvoříte materializované zobrazení ve službě Databricks SQL Warehouse, vytvoří se bezserverový kanál pro zpracování aktualizací materializovaného zobrazení. Stav operací aktualizace můžete sledovat v uživatelském rozhraní DLT nebo v rozhraní API . Vizte zobrazení stavu obnovení materializovaného pohledu.
Požadavky
Vytvoření nebo aktualizace materializovaných zobrazení:
- Musíte použít pro nebo bezserverový SQL Warehouse s podporou katalogu Unity.
- Pokud chcete aktualizovat materializované zobrazení, musíte být v pracovním prostoru, který ho vytvořil.
- Váš pracovní prostor musí být v oblasti, která podporuje bezserverové služby SQL Warehouse.
Jak provést dotaz na materializovaná zobrazení:
- Musíte být vlastníkem materializovaného zobrazení, nebo mít
SELECT
na materializovaném zobrazení, spolu sUSE SCHEMA
aUSE CATALOG
na jeho nadřazených prvcích. - Musíte použít jeden z následujících výpočetních prostředků:
- SQL Warehouse
- Rozhraní DLT
- Výpočetní režim standardního přístupu (dříve sdílený režim přístupu)
- Režim vyhrazeného přístupu (dříve režim přístupu jednoho uživatele) ve službě Databricks Runtime 15.4 a vyšší, pokud je pracovní prostor povolený pro bezserverové výpočetní prostředky. Viz jemně odstupňované řízení přístupu u vyhrazených výpočetních prostředků (dříve výpočetních prostředků jednoho uživatele).
- Pouze pokud jste vlastníkem materializovaného zobrazení: výpočetní prostředek v režimu vyhrazeného přístupu, na kterém běží Databricks Runtime mezi 14.3 a 15.3.
Další informace o dalších omezeních používání materializovaných zobrazení najdete v tématu Omezení.
Vytvoření materializovaného zobrazení
Operace materializovaného zobrazení CREATE
Databricks SQL používají službu Databricks SQL Warehouse k vytvoření a načtení dat v materializovaném zobrazení. Vytvoření materializovaného zobrazení je synchronní operace, což znamená, že CREATE MATERIALIZED VIEW
příkaz blokuje, dokud se materializované zobrazení nevytvořilo a počáteční načtení dat se dokončí. Pro každé materializované zobrazení Databricks SQL se automaticky vytvoří bezserverový kanál DLT. Když je materializované zobrazení obnoveno, datový tok DLT zpracuje aktualizaci.
K vytvoření materializovaného zobrazení použijte CREATE MATERIALIZED VIEW
příkaz. Pokud chcete odeslat vytvořit příkaz, použijte editor SQL v uživatelském rozhraní Azure Databricks, rozhraní příkazového řádku Databricks SQL nebo rozhraní Databricks SQL API.
Poznámka:
Uživatel, který vytvoří materializované zobrazení, je vlastníkem materializovaného zobrazení a musí mít následující oprávnění:
-
SELECT
oprávnění pro základní tabulky, které odkazuje materializované zobrazení. -
USE CATALOG
aUSE SCHEMA
oprávnění k katalogu a schématu obsahujícím zdrojové tabulky pro materializované zobrazení. -
USE CATALOG
aUSE SCHEMA
oprávnění k cílovému katalogu a schématu pro materializované zobrazení. -
CREATE TABLE
aCREATE MATERIALIZED VIEW
oprávnění k schématu obsahujícímu materializované zobrazení.
Následující příklad vytvoří materializované zobrazení mv1
ze základní tabulky base_table1
:
CREATE MATERIALIZED VIEW mv1
AS SELECT
date,
sum(sales) AS sum_of_sales
FROM
base_table1
GROUP BY
date;
Komentáře sloupců v základní tabulce se automaticky rozšíří do nového materializovaného zobrazení. Chcete-li přidat plán, omezení tabulky nebo jiné vlastnosti, upravte definici materializovaného zobrazení. Další informace o syntaxi pro definování materializovaného zobrazení najdete v tématu CREATE MATERIALIZED VIEW.
Nastavte kanál modulu runtime
Materializovaná zobrazení vytvořená pomocí SQL Warehouse se automaticky aktualizují pomocí kanálu DLT. Kanály DLT ve výchozím nastavení používají modul runtime v kanálu current
. Informace o procesu vydání najdete v poznámkách k verzi DLT a procesu aktualizace.
Databricks doporučuje používat current
kanál pro produkční úlohy. Nové funkce jsou poprvé vydány na preview
kanálu. Na kanál DLT ve verzi Preview můžete nastavit potrubí a otestovat nové funkce zadáním preview
jako vlastnosti tabulky. Tuto vlastnost můžete zadat při vytváření tabulky nebo po vytvoření tabulky pomocí příkazu ALTER.
Následující příklad kódu ukazuje, jak nastavit kanál na náhled v příkazu CREATE:
CREATE OR REPLACE MATERIALIZED VIEW foo.default.bar
TBLPROPERTIES ('pipelines.channel' = 'preview') as
SELECT
*
FROM
range(5)
Načtení dat z externích systémů
Databricks doporučuje pro podporované zdroje dat nahrát externí data pomocí federace Lakehouse. Informace o načítání dat ze zdrojů nepodporované službou Lakehouse Federation najdete v tématu Možnosti formátu dat.
Aktualizace materializovaného zobrazení
Operace REFRESH
aktualizuje materializované zobrazení tak, aby odráželo nejnovější změny základní tabulky. Operace je ve výchozím nastavení synchronní, což znamená, že příkaz blokuje, dokud nebude operace aktualizace dokončena. K aktualizaci materializovaného zobrazení použijte REFRESH MATERIALIZED VIEW
příkaz. Podrobnosti o syntaxi a parametrech SQL pro tento příkaz najdete v
Pokud chcete odeslat příkaz aktualizace, použijte editor SQL v uživatelském rozhraní Azure Databricks, poznámkový blok připojený ke službě SQL Warehouse, rozhraní příkazového řádku SQL Databricks nebo rozhraní SQL API Databricks.
Materializované zobrazení může REFRESH
zobrazit pouze vlastník.
Následující příklad aktualizuje mv1
materializované zobrazení:
REFRESH MATERIALIZED VIEW mv1;
Jak se aktualizují materializovaná zobrazení SQL Databricks?
Materializovaná zobrazení automaticky vytvářejí a používají bezserverové kanály DLT ke zpracování operací aktualizace. Aktualizace se spravuje kanálem DLT a aktualizace se monitoruje službou Databricks SQL Warehouse, která slouží k vytvoření materializovaného zobrazení. Materializovaná zobrazení je možné aktualizovat pomocí kanálu DLT, který běží podle plánu. Viz Spouštěný vs. kontinuální režim kanálu.
Poznámka:
Modul runtime DLT nemůže rozpoznat změny v jiných zdrojích dat než Delta. Tabulka se stále pravidelně aktualizuje, ale s vyšším výchozím intervalem aktivační události, aby se zabránilo nadměrnému přepočítávání, které by zpomalilo jakékoli přírůstkové zpracování probíhající na výpočetních prostředcích.
Ve výchozím nastavení se operace aktualizace provádějí synchronně. Můžete také nastavit operaci aktualizace tak, aby probíhala asynchronně. Tuto možnost můžete nastavit pomocí příkazu refresh. Viz REFRESH (MATERIALIZED VIEW nebo STREAMING TABLE) Chování spojené s jednotlivými přístupy je následující:
- Synchronní: Synchronní aktualizace brání dalším operacím v pokračování, dokud aktualizace nebude dokončena. Pokud je výsledek potřebný pro další krok, například při sekvencování operací aktualizace v nástrojích orchestrace, jako jsou úlohy Databricks, použijte synchronní aktualizaci. K orchestraci materializovaných zobrazení pomocí úlohy použijte typ úlohy SQL. Viz Přehled orchestrace v databricks.
- asynchronní: Asynchronní aktualizace spustí úlohu na pozadí na výpočetním prostředí DLT, když začne aktualizace materializovaného zobrazení, což umožňuje, aby se příkaz vrátil před dokončením načítání dat. Tento typ aktualizace může ušetřit náklady, protože operace nemusí nutně obsahovat výpočetní kapacitu ve skladu, kde je inicializován příkaz. Pokud se aktualizace stane nečinnou a neběží žádné další úlohy, může být sklad uzavřen, zatímco aktualizace využívá jiné dostupné výpočetní prostředky. Asynchronní aktualizace navíc podporují paralelní spouštění více operací.
Některé dotazy je možné přírůstkově aktualizovat. Viz Přírůstková aktualizace pro materializovaná zobrazení. Pokud přírůstkovou aktualizaci nelze provést, provede se místo toho úplná aktualizace.
Naplánování aktualizací materializovaného zobrazení
Můžete nakonfigurovat materializované zobrazení SQL Databricks tak, aby se automaticky aktualizovalo na základě definovaného plánu. Pokud chcete nastavit plán, udělejte jednu z těchto věcí:
- Konfigurace plánu pomocí
SCHEDULE
klauzule při vytváření materializovaného zobrazení - Přidejte plán pomocí příkazu ALTER MATERIALIZED VIEW.
Při vytvoření plánu se automaticky nakonfiguruje nová úloha Databricks pro zpracování aktualizace.
Pokud chcete zobrazit plán, udělejte jednu z těchto věcí:
-
DESCRIBE EXTENDED
Spusťte příkaz z editoru SQL v uživatelském rozhraní Azure Databricks. - K zobrazení materializovaného zobrazení použijte Průzkumníka katalogu. Plán je uvedený na kartě Přehled v části Stav aktualizace. Podívejte se, co je Průzkumník katalogu?
Zobrazení stavu aktualizace materializovaného zobrazení
Poznámka:
Vzhledem k tomu, že kanál DLT spravuje materializované aktualizace zobrazení, je latence způsobená časem spuštění kanálu. Tato doba může být v sekundách až minutách, kromě času potřebného k provedení aktualizace.
Stav aktualizace materializovaného zobrazení můžete zjistit zobrazením příslušného kanálu v uživatelském rozhraní DLT nebo dotazem na Aktualizovat informace vrácené příkazem DESCRIBE EXTENDED
pro materializované zobrazení.
Historii aktualizací materializovaného zobrazení můžete zobrazit také dotazováním protokolu událostí DLT. Viz Zobrazení historie aktualizace pro materializované zobrazení.
Monitorování spuštění pomocí historie dotazů
Na stránce historie dotazů můžete získat přístup k podrobnostem dotazu a profilům dotazů, které vám pomůžou identifikovat špatně výkonné dotazy a kritické body v kanálu DLT používaném ke spouštění aktualizací streamovaných tabulek. Přehled o druhu informací dostupných pro historii dotazů a profily dotazů najdete v tématu Historie dotazů a profil dotazu.
Důležité
Tato funkce je ve verzi Public Preview. Správci pracovního prostoru můžou tuto funkci povolit na stránce Previews . Viz Správa Azure Databricks Previewy.
Všechny příkazy související s materializovanými zobrazeními se zobrazí v historii dotazů. Pomocí rozevíracího seznamu Příkaz můžete vybrat libovolný příkaz a zkontrolovat související dotazy. Za všemi příkazy CREATE
následuje příkaz REFRESH
, který se provádí asynchronně v kanálu DLT. Příkazy REFRESH
obvykle zahrnují podrobné plány dotazů, které poskytují přehled o optimalizaci výkonu.
Pokud chcete získat přístup k REFRESH
příkazům v uživatelském rozhraní historie dotazů, postupujte následovně:
- Kliknutím
na levý boční panel otevřete uživatelské rozhraní historie dotazů.
- Vyberte políčko REFRESH ze seznamu Výkaz.
- Kliknutím na název příkazu dotazu zobrazíte souhrnné podrobnosti, jako je doba trvání dotazu a agregované metriky.
- Kliknutím na Zobrazit profil dotazu otevřete profil dotazu. Podrobnosti o navigaci v profilu dotazu najdete v Profilu dotazu.
- Volitelně můžete pomocí odkazů v části Zdroj dotazů otevřít související dotaz nebo kanál.
Zobrazení stavu aktualizace v uživatelském rozhraní DLT
Ve výchozím nastavení není kanál DLT, který spravuje materializované zobrazení, viditelný v uživatelském rozhraní DLT. Pokud chcete kanál zobrazit v uživatelském rozhraní DLT, musíte získat přímý přístup k odkazu na podrobnosti kanálu stránce. Přístup k odkazu:
- Zkopírujte a vložte odkaz zobrazený v řádku Poslední aktualizace tabulky vrácené příkazem
DESCRIBE EXTENDED
. - Na kartě rodokmenu materializovaného zobrazení klikněte na Kanály a potom klikněte na odkaz kanálu.
U asynchronních REFRESH
příkazů odeslaných pomocí editoru SQL v uživatelském rozhraní Azure Databricks můžete stav aktualizace zobrazit pomocí odkazu zobrazeného na panelu Výsledky .
Zastavení aktivní aktualizace
Pokud chcete zastavit aktivní aktualizaci v uživatelském rozhraní DLT, v podrobnostech kanálu stránce kliknutím na Zastavit zastavte aktualizaci kanálu. Aktualizaci můžete také zastavit pomocí Databricks CLI nebo operace POST /api/2.0/pipelines/{pipeline_id}/stop v rozhraní Pipelines API.
Aktualizace definice materializovaného zobrazení
Chcete-li aktualizovat definici materializovaného zobrazení, musíte nejprve odstranit a pak znovu vytvořit materializované zobrazení.
Trvalé odstranění záznamů z materializovaného zobrazení s povolenými vektory odstranění
Důležité
Podpora příkazu REORG
s materializovanými zobrazeními je ve verzi Public Preview.
Poznámka:
- Použití příkazu
REORG
s materializovaným zobrazením vyžaduje Databricks Runtime 15.4 a vyšší. - I když můžete použít příkaz
REORG
s libovolným materializovaným zobrazením, je vyžadován pouze při odstraňování záznamů z materializovaného zobrazení s odstranění vektory povolené. Příkaz nemá žádný vliv při použití s materializovaným zobrazením bez povolených vektorů odstranění.
Pokud chcete fyzicky odstranit záznamy z podkladového úložiště pro materializované zobrazení s povolenými vektory odstranění, jako je například dodržování gdpr, je potřeba provést další kroky, aby se zajistilo, že se operace VACUUM spustí na datech materializovaného zobrazení.
Následující text podrobněji popisuje tyto kroky:
- Spusťte příkaz
REORG
v materializovaném zobrazení a zadejte parametrAPPLY (PURGE)
. NapříkladREORG TABLE <materialized-view-name> APPLY (PURGE);
. Viz REORG TABLE. - Počkejte, až uplyne doba uchovávání dat pro materializované zobrazení. Výchozí doba uchovávání dat je sedm dní, ale je možné ji nakonfigurovat pomocí vlastnosti
delta.deletedFileRetentionDuration
tabulky. Vizte Konfigurace uchovávání dat pro dotazy s časovým cestováním. -
REFRESH
materializované zobrazení. Viz také Aktualizovat materializované zobrazení. Do 24 hodin od operaceREFRESH
se automaticky spustí úlohy údržby DLT, včetně operaceVACUUM
, která se vyžaduje k trvalému odstranění záznamů. Vizte Úlohy údržby prováděné DLT.
Odstranění materializovaného zobrazení
Poznámka:
Chcete-li odeslat příkaz k vyřazení materializovaného zobrazení, musíte být vlastníkem tohoto materializovaného zobrazení nebo mít oprávnění MANAGE
pro materializované zobrazení.
Chcete-li odstranit materializované zobrazení, použijte příkaz DROP VIEW. K odeslání DROP
příkazu můžete použít editor SQL v uživatelském rozhraní Azure Databricks, rozhraní příkazového řádku SQL Databricks nebo rozhraní SQL API Databricks. Následující příklad zruší mv1
materializované zobrazení:
DROP MATERIALIZED VIEW mv1;
Popis materializovaného zobrazení
K načtení sloupců a datových typů pro materializované zobrazení použijte DESCRIBE
příkaz. Pokud chcete načíst sloupce, datové typy a metadata, jako je vlastník, umístění, čas vytvoření a stav aktualizace materializovaného zobrazení, použijte DESCRIBE EXTENDED
. Pokud chcete odeslat DESCRIBE
příkaz, použijte editor SQL v uživatelském rozhraní Azure Databricks, Databricks SQL CLI nebo Databricks SQL API.
Změna vlastníka materializovaného zobrazení
Vlastník materializovaného zobrazení můžete změnit, pokud jste správcem metastoru i správcem pracovního prostoru. Materializovaná zobrazení automaticky vytvářejí a používají kanály DLT ke zpracování změn. Pomocí následujících kroků můžete změnit vlastníka materializovaných zobrazení:
- Na kartě závislostí materializovaného zobrazení klikněte na Pipeliny a potom klikněte na odkaz pipeline.
- Klikněte na Sdílet. Zobrazí se dialogové okno nastavení oprávnění .
- Kliknutím na x napravo od jména aktuálního vlastníka odeberete aktuálního vlastníka.
- Začněte psát a vyfiltrujte seznam dostupných uživatelů. Klikněte na uživatele, který by měl být novým vlastníkem kanálu.
- Kliknutím na Uložit uložte změny a zavřete dialogové okno.
Všechny prostředky potrubí, včetně materializovaných zobrazení definovaných v potrubí, vlastní nový vlastník potrubí. Všechny budoucí aktualizace se spouštějí pomocí identity nového vlastníka.
Řízení přístupu k materializovaným zobrazením
Materializovaná zobrazení podporují bohaté řízení přístupu, které podporují sdílení dat a zároveň se vyhýbají potenciálně privátním datům. Materializovaný vlastník zobrazení nebo uživatel s oprávněním MANAGE
může ostatním uživatelům udělit oprávnění SELECT
. Uživatelé s SELECT
přístupem k materializovanému zobrazení nepotřebují SELECT
přístup k tabulkám odkazovaným materializovaným zobrazením. Toto řízení přístupu umožňuje sdílení dat při řízení přístupu k podkladovým datům.
Udělit oprávnění materializovanému zobrazení
Pokud chcete udělit přístup k materializovanému zobrazení, použijte tento GRANT
příkaz:
GRANT
privilege_type [, privilege_type ] ...
ON <mv_name> TO principal;
Privilege_type může být:
-
SELECT
– uživatel můžeSELECT
materializované zobrazení. -
REFRESH
– uživatel můžeREFRESH
materializované zobrazení. Aktualizace se spouští pomocí oprávnění vlastníka.
Následující příklad vytvoří materializované zobrazení a udělí uživateli oprávnění k výběru a aktualizaci:
CREATE MATERIALIZED VIEW <mv_name> AS SELECT * FROM <base_table>;
GRANT SELECT ON <mv_name> TO user;
GRANT REFRESH ON <mv_name> TO user;
Odebrat oprávnění z materializovaného zobrazení
Pokud chcete odvolat přístup z materializovaného zobrazení, použijte tento REVOKE
příkaz:
REVOKE
privilege_type [, privilege_type ]
ON <name> FROM principal;
Pokud jsou oprávnění SELECT
v základní tabulce odvolána od vlastníka materializovaného zobrazení nebo jakéhokoli jiného uživatele, kterému byla udělena oprávnění MANAGE
nebo SELECT
k materializovanému zobrazení, nebo je základní tabulka odstraněna, vlastník materializovaného zobrazení nebo uživatel s uděleným přístupem může stále dotazovat materializované zobrazení. Dochází však k následujícímu chování:
- Vlastník materializovaného zobrazení nebo jiní uživatelé, kteří ztratili přístup k materializovanému zobrazení, už nemohou
REFRESH
toto materializované zobrazení a materializované zobrazení bude zastaralé. - Pokud je plán automatizovaný, další naplánovaný plán
REFRESH
selže nebo se nespustí.
Následující příklad odvolá SELECT
oprávnění z mv1
:
REVOKE SELECT ON mv1 FROM user1;
Povolit záznam změn dat
U základních tabulek materializovaných zobrazení je vyžadován datový kanál změn, s výjimkou některých pokročilých případů použití. Pokud chcete u základní tabulky povolit datový kanál změn, nastavte delta.enableChangeDataFeed
vlastnost tabulky pomocí následující syntaxe:
ALTER TABLE table1 SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
Zobrazení historie aktualizací pro materializované zobrazení
Pokud chcete zobrazit stav REFRESH
operací v materializovaném zobrazení, včetně aktuálních a minulých aktualizací, zadejte dotaz na protokol událostí DLT:
SELECT
*
FROM
event_log(TABLE(<fully-qualified-table-name>))
WHERE
event_type = "update_progress"
ORDER BY
timestamp desc;
Nahraďte <fully-qualified-table-name>
plně kvalifikovaným názvem materializovaného zobrazení, včetně katalogu a schématu.
Viz Co je protokol událostí DLT?.
Získání podrobných informací o materializovaných zobrazeních pomocí Průzkumníka katalogu
Pomocí Průzkumníka katalogu můžete zobrazit podrobnosti o materializovaném zobrazení.
- Na bočním panelu klikněte na ikonu Katalog
.
- Ve stromu Průzkumníka katalogu vlevo otevřete katalog a vyberte schéma, ve kterém se nachází materializované zobrazení.
- Otevřete položku Tabulky pod vybraným schématem a klikněte na materializované zobrazení.
Odtud můžete pomocí karet pod názvem materializovaného zobrazení zobrazit a upravit informace o materializovaném zobrazení, včetně:
- Obnovit stav a historii
- Schéma tabulky
- Ukázková data (vyžaduje aktivní výpočetní prostředky)
- Dovolení
- Rodokmen, včetně tabulek a kanálů, které toto materializované zobrazení závisí na
- Vhledy do využití
- Monitory, které jste vytvořili pro toto materializované zobrazení
Omezení
- Požadavky na výpočetní prostředky a pracovní prostor najdete v tématu Požadavky.
- Materializovaná zobrazení nepodporují sloupce identit ani náhradní klíče.
- Pokud materializované zobrazení používá agregaci součtu nad sloupcem, který umožňuje
NULL
, a v daném sloupci zůstanou pouze hodnotyNULL
, výsledná agregační hodnota materializovaného zobrazení je nula místoNULL
. - Z materializovaného zobrazení nelze číst změnový datový tok.
- Dotazy týkající se cestování v čase nejsou podporovány v materializovaných zobrazeních.
- Podkladové soubory podporující materializovaná zobrazení mohou zahrnovat data z nadřazených tabulek (včetně možných identifikovatelných osobních údajů), které se nezobrazují v definici materializovaného zobrazení. Tato data se automaticky přidají do podkladového úložiště, aby podporovala přírůstkovou aktualizaci materializovaných zobrazení. Vzhledem k tomu, že podkladové soubory materializovaného zobrazení můžou riskovat zveřejnění dat z nadřazených tabulek, které nejsou součástí schématu materializovaného zobrazení, databricks doporučuje nesdílit podkladové úložiště s nedůvěryhodnými podřízenými příjemci. Předpokládejme například, že definice materializovaného zobrazení obsahuje
COUNT(DISTINCT field_a)
klauzuli. I když materializovaná definice zobrazení obsahuje pouze agregačníCOUNT DISTINCT
klauzuli, podkladové soubory budou obsahovat seznam skutečných hodnotfield_a
.