Az Azure Synapse Analytics megosztott metaadatai

Az Azure Synapse Analytics lehetővé teszi a különböző munkaterület számítási motorjai számára, hogy adatbázisokat és táblákat osszanak meg az Apache Spark-készletek és a kiszolgáló nélküli SQL-készlet között.

A megosztás támogatja az úgynevezett modern adattárház-mintát, és hozzáférést biztosít a munkaterület SQL-motorjai számára a Sparkkal létrehozott adatbázisokhoz és táblákhoz. Emellett lehetővé teszi az SQL-motorok számára, hogy saját objektumokat hozzanak létre, amelyeket nem osztanak meg a többi motorral.

Fontos

Az 1024-nél több oszlopot tartalmazó Sparkban létrehozott táblák megjelenhetnek az Object Explorerben, de a hiányos metaadatok szinkronizálása miatt nem kérdezhetők le a kiszolgáló nélküli SQL-készletből.

Megkerülő megoldás: Ne hozzon létre 1024-nél több oszlopot tartalmazó Spark-táblákat, ha le kell kérni őket a kiszolgáló nélküli SQL-készletből. Tervezd újra a sémát, és hozza létre újra a táblát.

A modern adattárház támogatása

A megosztott metaadat-modell a következő módon támogatja a modern adattárház-mintát:

  1. A Data Lake adatai a Spark segítségével hatékonyan előkészíthetők és strukturálhatók, azáltal hogy az előkészített adatokat felosztott, Parquet-alapú táblákban tárolják, amelyek több adatbázist is tartalmazhatnak.

  2. A Spark által létrehozott adatbázisok és az összes tábla láthatóvá válik az Azure Synapse-munkaterület Spark-készletpéldányaiban, és bármelyik Spark-feladatból használható. Ez a képesség engedélyekkel rendelkezik, mivel a munkaterület összes Spark-készlete ugyanazzal a mögöttes katalógus metatárolóval rendelkezik.

  3. A Spark által létrehozott adatbázisok és azok Parquet-alapú vagy CSV-alapú táblái megjelennek a munkahelyi szerver nélküli SQL-készletben. Az adatbázisok automatikusan jönnek létre a kiszolgáló nélküli SQL-készlet metaadataiban, és a Spark-feladat által létrehozott külső és felügyelt táblák is elérhetővé válnak külső táblákként a kiszolgáló nélküli SQL-készlet metaadataiban a dbo megfelelő adatbázis sémájában.

Az objektumszinkronizálás aszinkron módon történik. Az objektumok kis késéssel, néhány másodperccel később jelennek meg az SQL-környezetben. Miután megjelentek, lekérdezhetők, de nem frissíthetők vagy módosíthatók az SQL-motorok által, amelyek hozzáférnek hozzájuk.

Megosztott metaadat-objektumok

A Spark lehetővé teszi adatbázisok, külső táblák, felügyelt táblák és nézetek létrehozását. Mivel a Spark nézetek feldolgozásához Spark-motorra van szükség a definiáló Spark SQL-utasítás feldolgozásához, és egy SQL-motor nem tudja ezeket feldolgozni, ezért csak azok az adatbázisok és az általuk tartalmazott külső illetve felügyelt táblák, amelyek Parquet vagy CSV tárolóformátumot használnak, vannak megosztva a munkaterület SQL-motorjával. A Spark-nézetek csak a Spark-példánykészletben vannak megosztva.

Biztonsági modell áttekintése

A Spark-adatbázisok és -táblák, valamint az SQL-motor szinkronizált ábrázolásai a mögöttes tárolási szinten vannak biztosítva. Ha a lekérdezés-küldő által használt motorok lekérdezik a táblát, a rendszer átadja a lekérdezés-küldő biztonsági tagját a mögöttes fájloknak. Az engedélyezés ellenőrzésére a fájlrendszer szintjén kerül sor.

További információt az Azure Synapse Analytics megosztott adatbázisában talál.

Karbantartás módosítása

Ha egy metaadat-objektumot töröl vagy módosít a Sparkkal, a rendszer felveszi és propagálja a módosításokat a kiszolgáló nélküli SQL-készletbe. A szinkronizálás aszinkron, és a változások rövid késleltetés után megjelennek az SQL-motorban.

Következő lépések