Megosztás a következőn keresztül:


A Databricks-to-Databricks deltamegosztással megosztott adatok olvasása (címzettek számára)

Ez a cikk bemutatja, hogyan olvashatja be az Önnel megosztott adatokat a Databricks-to-Databricks Delta Sharing protokoll használatával, amelyben a Databricks biztonságos kapcsolatot kezel az adatmegosztáshoz. A Delta Sharing nyílt megosztási protokolltól eltérően a Databricks-to-Databricks protokollhoz nem szükséges hitelesítő fájl (jogkivonatalapú biztonság).

A Databricks-to-Databricks megosztásához címzettként hozzá kell férnie a Unity Cataloghoz engedélyezett Databricks-munkaterülethez.

Ha nem rendelkezik a Unity Cataloghoz engedélyezett Databricks-munkaterülettel, akkor az adatokat meg kell osztani Önnel a Delta Sharing nyílt megosztási protokollal, és ez a cikk nem vonatkozik Önre. Lásd: Megosztott adatok olvasása a Delta Sharing nyílt megosztásával (címzettek számára).

Hogyan elérhetővé tenni a megosztott adatokat a csapatom számára?

A Databricks-to-Databricks protokollal megosztott adatok és jegyzetfüzetek olvasásához felhasználónak kell lennie a Unity Cataloghoz engedélyezett Databricks-munkaterületen. A csapat egy tagja egyedi azonosítót biztosít az adatszolgáltatónak a Unity Catalog-metaadattárhoz, és az adatszolgáltató ezt az azonosítót használja a szervezettel való biztonságos megosztási kapcsolat létrehozásához. A megosztott adatok ezután elérhetővé válnak a munkaterület olvasási hozzáféréséhez, és az adatszolgáltató által a megosztott táblákon, nézeteken, köteteken és partíciókon végzett frissítések szinte valós időben megjelennek a munkaterületen.

Feljegyzés

Frissítések megosztott adattáblák, nézetek és kötetek közel valós időben jelennek meg a munkaterületen. Előfordulhat azonban, hogy az oszlopmódosítások (hozzáadás, átnevezés, törlés) legfeljebb egy percig nem jelennek meg a Katalóguskezelőben. Hasonlóképpen, az új megosztások és a megosztások frissítései (például új táblák hozzáadása egy megosztáshoz) egy percig gyorsítótárazva lesznek, mielőtt azok megtekinthetők és lekérdezhetők lennének.

Az Önnel megosztott adatok olvasása:

  1. A csapat egyik felhasználója megkeresi a megosztást – az Önnel megosztott táblák, nézetek, kötetek és jegyzetfüzetek tárolóját –, és a megosztás használatával létrehoz egy katalógust– a Databricks Unity-katalógus összes adatának legfelső szintű tárolóját.
  2. A csapat egy felhasználója hozzáférést biztosít vagy tagad a katalógusban lévő objektumokhoz (sémák, táblázatok, nézetek és kötetek) a csapat többi tagjának.
  3. Azokban a táblákban, nézetekben és kötetekben lévő adatokat olvassa el, amelyekhez hozzáférést kapott, ugyanúgy, mint a Databricks bármely más adategységéhez, amelyhez írásvédett (SELECT vagy READ VOLUME) hozzáféréssel rendelkezik.
  4. A megosztásban megtekintheti és klónozza a jegyzetfüzeteket, amennyiben rendelkezik a katalógusban szereplő USE CATALOG jogosultsággal.

Engedélyek szükségesek

Ahhoz, hogy az összes szolgáltató és szolgáltatómegosztás adatait listázhassa és megtekinthesse, metaadattár-rendszergazdának vagy jogosultsággal kell rendelkeznie USE PROVIDER . Más felhasználók csak a tulajdonában lévő szolgáltatókhoz és megosztásokhoz férhetnek hozzá.

Ha szolgáltatói megosztásból szeretne katalógust létrehozni, metaadattár-rendszergazdának kell lennie, olyan felhasználónak, aki rendelkezik a CREATE_CATALOG Unity Catalog-metaadattárhoz tartozó jogosultságokkal és USE PROVIDER jogosultságokkal, vagy olyan felhasználónak, aki rendelkezik a CREATE_CATALOG szolgáltatói objektum jogosultságával és tulajdonjogával.

A megosztásból létrehozott katalógus sémáihoz (adatbázisaihoz, tábláihoz, nézeteihez és köteteihez) csak olvasási hozzáférés biztosítása a Unity Catalog jellemző jogosultsági hierarchiáját követi. A megosztásból létrehozott katalógusban lévő jegyzetfüzetek megtekintéséhez a USE CATALOG katalógusban lévő jogosultság szükséges. Lásd: A deltamegosztási katalógus sémáinak, tábláinak és köteteinek engedélyeinek kezelése.

Szolgáltatók és megosztások megtekintése

Az adatszolgáltató által Önnel megosztott adatok olvasásához ismernie kell a szolgáltató nevét, és meg kell osztania a Unity Catalog metaadattárában tárolt objektumokat, miután a szolgáltató megosztotta Önnel az adatokat.

A szolgáltató objektum a Unity Catalog metaadattárát, a felhőplatformot és az adatokat Önnel megosztó szervezet régióját jelöli.

A megosztási objektum azokat a táblákat, köteteket és nézeteket jelöli, amelyeket a szolgáltató megosztott Önnel.

Az összes olyan szolgáltató megtekintése, aki megosztotta Önnel az adatokat

Az elérhető adatszolgáltatók listájának megtekintéséhez használhatja a Catalog Explorert, a Databricks Unity Catalog CLI-t, vagy egy SHOW PROVIDERS Azure Databricks-jegyzetfüzet vagy a Databricks SQL-lekérdezésszerkesztő SQL-parancsát.

Szükséges engedélyek: Metaadattár-rendszergazdának kell lennie, vagy jogosultsággal kell rendelkeznie USE PROVIDER . Más felhasználók csak a tulajdonában lévő szolgáltatókhoz és szolgáltatói megosztásokhoz férhetnek hozzá.

További részletekért lásd: Szolgáltatók megtekintése.

Szolgáltató adatainak megtekintése

A szolgáltató részleteinek megtekintéséhez használhatja a Catalog Explorert, a Databricks Unity Catalog CLI-t, vagy az DESCRIBE PROVIDER SQL-parancsot egy Azure Databricks-jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.

Szükséges engedélyek: Metaadattár-rendszergazdának kell lennie, rendelkeznie kell a USE PROVIDER jogosultsággal, vagy rendelkeznie kell a szolgáltató objektumával.

További részletekért lásd: Szolgáltató adatainak megtekintése.

Megosztások megtekintése

A szolgáltató által Önnel megosztott megosztások megtekintéséhez használhatja a Catalog Explorert, a Databricks Unity Catalog parancssori felületét, vagy az SHOW SHARES IN PROVIDER SQL-parancsot egy Azure Databricks-jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.

Szükséges engedélyek: Metaadattár-rendszergazdának kell lennie, rendelkeznie kell a USE PROVIDER jogosultsággal, vagy rendelkeznie kell a szolgáltató objektumával.

További részletekért tekintse meg a szolgáltató által Önnel megosztott megosztások megtekintése című témakört.

Adatok elérése megosztott táblában vagy kötetben

Adatok olvasása megosztott táblában vagy kötetben:

  1. A kiemelt felhasználóknak katalógust kell létrehozniuk a táblát vagy kötetet tartalmazó megosztásból. Ez lehet metaadattár-rendszergazda, olyan felhasználó, aki rendelkezik a CREATE_CATALOG Unity Catalog-metaadattárhoz tartozó jogosultságokkal és USE PROVIDER jogosultságokkal, vagy olyan felhasználó, aki a CREATE_CATALOG szolgáltató objektum jogosultságával és tulajdonjogával is rendelkezik.
  2. Ennek a felhasználónak vagy az azonos jogosultságokkal rendelkező felhasználónak hozzáférést kell adnia a megosztott táblához vagy kötethez.
  3. A táblát vagy kötetet ugyanúgy érheti el, mint bármely más, a Unity Catalog metaadattárában regisztrált adategységet.

Katalógus létrehozása megosztásból

Ha elérhetővé szeretné tenni egy megosztás adatait a csapat számára, létre kell hoznia egy katalógust a megosztásból. Ha katalógust szeretne létrehozni egy megosztásból, használhatja a Catalog Explorert, a Databricks Unity Catalog CLI-t vagy az SQL-parancsokat egy Azure Databricks-jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.

Szükséges engedélyek: Metaadattár-rendszergazda, a Unity Catalog-metaadattárhoz tartozó jogosultságokkal és USE PROVIDER jogosultságokkal rendelkező CREATE_CATALOG felhasználó, vagy olyan felhasználó, aki rendelkezik a CREATE_CATALOG szolgáltatói objektum jogosultságával és tulajdonjogával.

Feljegyzés

Ha a megosztás nézeteket tartalmaz, a szolgáltató metaadattárában lévő nézetet tartalmazó katalógus nevével eltérő katalógusnevet kell használnia.

Katalóguskezelő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemreKatalógus ikon.
  2. A bal oldali panelen bontsa ki a Delta Megosztás menüt, és válassza a Velem megosztva lehetőséget.
  3. A Szolgáltatók lapon válassza ki a szolgáltatót.
  4. A Megosztások lapon keresse meg a megosztást, és kattintson a Katalógus létrehozása elemre a megosztási sorban.
  5. Adja meg a katalógus nevét és az opcionális megjegyzést.
  6. Kattintson a Létrehozás gombra.

Sql

Futtassa a következő parancsot egy jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.

CREATE CATALOG [IF NOT EXISTS] <catalog-name>
USING SHARE <provider-name>.<share-name>;

Cli

databricks catalogs create <catalog-name> /
--provider-name <provider-name> /
--share-name <share-name>

A megosztásból létrehozott katalógus a Delta Sharing katalógustípusával rendelkezik. A típust a Katalóguskezelő katalógusadatok lapján, illetve a DESCRIBE CATALOG SQL parancs jegyzetfüzetben vagy Databricks SQL-lekérdezésben való futtatásával tekintheti meg. Az összes megosztott katalógus a Katalóguskezelő bal oldali ablaktábláján a Megosztott katalógus csoportban > található.

A Delta Sharing-katalógusok ugyanúgy kezelhetők, mint a Unity Catalog-metaadattárak szokásos katalógusai. Megtekintheti, frissítheti és törölheti a Delta Sharing-katalógust a Catalog Explorer, a Databricks parancssori felület, valamint a , DESCRIBE CATALOG, ALTER CATALOGés DROP CATALOG SQL-parancsok használatávalSHOW CATALOGS.

A megosztásból létrehozott Delta Sharing-katalógus 3 szintű névtérstruktúrája megegyezik a Unity Catalog egy reguláris katalógusában lévővel: catalog.schema.table vagy catalog.schema.volume.

A megosztott katalógusban lévő tábla- és kötetadatok írásvédettek, ami azt jelenti, hogy olvasási műveleteket végezhet, például:

  • DESCRIBE, SHOWés SELECT táblák esetén.
  • DESCRIBE VOLUME, LIST <volume-path>, SELECT * FROM <format>.'<volume_path>'és COPY INTO kötetek esetén.

A megosztott katalógusban lévő jegyzetfüzeteket bármely felhasználó USE CATALOG megtekintheti és klónozhatja a katalógusban.

A megosztott katalógusban lévő modelleket bármely olyan felhasználó elolvashatja és betöltheti következtetésre, aki a következő jogosultságokkal rendelkezik: EXECUTE jogosultságok a regisztrált modellen, valamint USE SCHEMAUSE CATALOG a modellt tartalmazó séma és katalógus jogosultságai.

A deltamegosztási katalógus sémáihoz, tábláihoz és köteteihez tartozó engedélyek kezelése

Alapértelmezés szerint a katalógus létrehozója a deltamegosztási katalógusban lévő összes adatobjektum tulajdonosa, és bármelyikhez kezelheti az engedélyeket.

A jogosultságok lefelé öröklődnek, bár előfordulhat, hogy egyes munkaterületek továbbra is az örökölt biztonsági modellen vannak, amelyek nem biztosítottak öröklést. Lásd: Öröklési modell. A katalógusban jogosultsággal SELECT rendelkező felhasználók a katalógus összes sémáján és tábláján rendelkeznek SELECT jogosultsággal, kivéve, ha a jogosultságot visszavonják. Hasonlóképpen, a katalógusban jogosultsággal READ VOLUME rendelkező felhasználók a katalógus összes kötetén megkapják READ VOLUME a jogosultságot, kivéve, ha a jogosultságot visszavonják. Nem adhat meg olyan jogosultságokat, amelyek írási vagy frissítési hozzáférést biztosítanak egy Delta Sharing-katalógushoz vagy -objektumokhoz egy Delta Sharing-katalógusban.

A katalógus tulajdonosa delegálhatja az adatobjektumok tulajdonjogát más felhasználókra vagy csoportokra, így a felhasználók kezelhetik az objektumengedélyeket és az életciklusokat.

Az adatobjektumok jogosultságainak a Unity Catalog használatával történő kezelésével kapcsolatos részletes információkért lásd : Jogosultságok kezelése a Unity Catalogban.

Adatok olvasása megosztott táblában

Egy megosztott táblában az Azure Databricks-felhasználóként elérhető eszközök bármelyikével olvashat adatokat: Catalog Explorer, notebookok, SQL-lekérdezések, Databricks CLI és Databricks REST API-k. Rendelkeznie kell a SELECT táblában szereplő jogosultsággal.

Adatok olvasása megosztott kötetben

A megosztott kötetekben az Azure Databricks-felhasználóként elérhető eszközök bármelyikével olvashatja az adatokat: Catalog Explorer, notebookok, SQL-lekérdezések, Databricks CLI és Databricks REST API-k. Jogosultsággal kell rendelkeznie a READ VOLUME köteten.

Megosztott modell betöltése következtetés céljából

A megosztott modell betöltésével és kötegelt következtetéssel történő használatával kapcsolatos részletekért tekintse meg a modellek betöltését a következtetéshez.

Tábla előzményadatainak lekérdezése

Ha az előzményeket a táblázattal együtt osztja meg, lekérdezheti a tábla adatait verzió vagy időbélyeg alapján. A Databricks Runtime 12.2 LTS-t vagy újabb verziót igényel.

Példa:

SELECT * FROM vaccine.vaccine_us.vaccine_us_distribution VERSION AS OF 3;
SELECT * FROM vaccine.vaccine_us.vaccine_us_distribution TIMESTAMP AS OF "2023-01-01 00:00:00";

Ezenkívül ha a változásadatcsatorna (CDF) engedélyezve van a táblával, lekérdezheti a CDF-et. A verzió és az időbélyeg is támogatott:

SELECT * FROM table_changes('vaccine.vaccine_us.vaccine_us_distribution', 0, 3);
SELECT * FROM table_changes('vaccine.vaccine_us.vaccine_us_distribution', "2023-01-01 00:00:00", "2022-02-01 00:00:00");

A változásadatcsatorna módosításáról további információt a Delta Lake változásadatcsatornájának használata az Azure Databricksben című témakörben talál.

Tábla lekérdezése apache Spark strukturált streameléssel

Ha egy tábla meg van osztva az előzményekkel, használhatja forrásként a Spark strukturált streameléséhez. A Databricks Runtime 12.2 LTS-t vagy újabb verziót igényel.

Támogatott lehetőségek:

  • ignoreDeletes: Az adatokat törlő tranzakciók figyelmen kívül hagyása.
  • ignoreChanges: Újra feldolgozhatja a frissítéseket, ha a fájlokat újraírták a forrástáblában olyan adatmódosítási művelet miatt, mint UPDATEa , MERGE INTO, DELETE (partíciókon belüli) vagy OVERWRITE. Változatlan sorok továbbra is kibocsáthatók. Ezért az alsóbb rétegbeli fogyasztóknak képesnek kell lenniük az ismétlődések kezelésére. A rendszer nem propagálja a törléseket az alsóbb rétegben. ignoreChanges alösszegek ignoreDeletes. Ezért ha használja ignoreChanges, a streamet nem zavarja a forrástábla törlése vagy frissítése.
  • startingVersion: A megosztott tábla verziója, amelyből kiindulni szeretne. Az ebből a verzióból (beleértve) kezdődő összes táblamódosítást a streamelési forrás felolvassa.
  • startingTimestamp: A kezdéshez megadott időbélyeg. Az időbélyegen vagy után véglegesített összes táblamódosítást (beleértve) a streamelési forrás felolvassa. Példa: "2023-01-01 00:00:00.0"
  • maxFilesPerTrigger: Az összes mikrokötegben figyelembe venni kívánt új fájlok száma.
  • maxBytesPerTrigger: Az egyes mikro kötegekben feldolgozott adatok mennyisége. Ez a beállítás "soft max" értéket állít be, ami azt jelenti, hogy egy köteg körülbelül ennyi adatot dolgoz fel, és a korlátnál többet is feldolgozhat annak érdekében, hogy a streamelési lekérdezés előrehaladjon olyan esetekben, amikor a legkisebb bemeneti egység nagyobb ennél a korlátnál.
  • readChangeFeed: A stream felolvassa a megosztott tábla változásadatcsatornáját.

Nem támogatott beállítások:

  • Trigger.availableNow

Strukturált streamelési lekérdezések mintája

Scala
spark.readStream.format("deltaSharing")
.option("startingVersion", 0)
.option("ignoreChanges", true)
.option("maxFilesPerTrigger", 10)
.table("vaccine.vaccine_us.vaccine_us_distribution")
Python
spark.readStream.format("deltaSharing")\
.option("startingVersion", 0)\
.option("ignoreDeletes", true)\
.option("maxBytesPerTrigger", 10000)\
.table("vaccine.vaccine_us.vaccine_us_distribution")

Ha a táblával engedélyezve van az adatcsatorna módosítása (CDF), akkor a CDF-et is streamelheti.

spark.readStream.format("deltaSharing")
.option("readChangeFeed", "true")
.table("vaccine.vaccine_us.vaccine_us_distribution")

Táblák olvasása engedélyezett törlési vektorokkal vagy oszlopleképezéssel

Fontos

Ez a funkció a nyilvános előzetes verzióban érhető el.

A törlési vektorok olyan tárolási optimalizálási funkciók, amelyeket a szolgáltató engedélyezhet a megosztott Delta-táblákon. Lásd: Mik azok a törlési vektorok?.

Az Azure Databricks a Delta-táblák oszlopleképezését is támogatja. Lásd: Oszlopok átnevezése és elvetése Delta Lake-oszlopleképezéssel.

Ha a szolgáltató engedélyezett törlési vektorokkal vagy oszlopleképezéssel osztott meg egy táblát, kötegelt beolvasásokat hajthat végre a táblán egy SQL-raktár vagy a Databricks Runtime 14.1 vagy újabb verzióját futtató fürt használatával. A CDF- és streamelési lekérdezésekhez a Databricks Runtime 14.2-s vagy újabb verziója szükséges.

A kötegelt lekérdezéseket igény szerint is végrehajthatja, mert azok automatikusan feloldhatók responseFormat a megosztott tábla táblafunkciói alapján.

A változásadatcsatorna (CDF) olvasásához vagy a megosztott táblák streamelési lekérdezéseinek törlési vektorokkal vagy oszlopleképezéssel történő végrehajtásához be kell állítania a további beállítást responseFormat=delta.

Az alábbi példák kötegelt, CDF- és streamelési lekérdezéseket mutatnak be:

import org.apache.spark.sql.SparkSession

// Batch query
spark.read.format("deltaSharing").table(<tableName>)

// CDF query
spark.read.format("deltaSharing")
  .option("readChangeFeed", "true")
  .option("responseFormat", "delta")
  .option("startingVersion", 1)
  .table(<tableName>)

// Streaming query
spark.readStream.format("deltaSharing").option("responseFormat", "delta").table(<tableName>)

Megosztott nézetek olvasása

Fontos

Ez a funkció a nyilvános előzetes verzióban érhető el.

Feljegyzés

A nézetmegosztás csak a Databricks–Databricks megosztásban támogatott.

A megosztott nézetek olvasása megegyezik a megosztott táblák olvasásával, az alábbi kivételekkel:

Számítási követelmények:

  • Ha az Azure Databricks-fiókja eltér a szolgáltatóétól, a megosztott nézetek lekérdezéséhez kiszolgáló nélküli SQL-tárolót kell használnia.
  • Ha a szolgáltató ugyanazon az Azure Databricks-fiókon található, bármely SQL-adattárházat használhat, és használhat megosztott hozzáférési módot használó fürtöt is.

Megtekintési korlátozások:

Megosztott nézetekre hivatkozó nézetek nem hozhatók létre.

Megosztási korlátozások megtekintése:

Nem oszthat meg megosztott táblákra vagy megosztott nézetekre hivatkozó nézeteket.

Elnevezési követelmények:

A nézetet tartalmazó megosztott katalógushoz használt katalógusnév nem lehet azonos a nézet által hivatkozott táblát tartalmazó szolgáltatókatalógussal. Ha például a megosztott nézet szerepel a test katalógusban, és a nézetben hivatkozott szolgáltató egyik táblája szerepel a szolgáltató test katalógusában, a lekérdezés névtérütközési hibát fog eredményezni. Lásd: Katalógus létrehozása megosztásból.

Előzmények és streamelés:

Nem kérdezhet le előzményeket, és nem használhat nézetet streamforrásként.

JDBC/ODBC:

A cikkben szereplő utasítások a megosztott adatok Azure Databricks felhasználói felületekkel való olvasására összpontosítanak, különösen a Unity Catalog szintaxisával és felületével. A megosztott nézeteket Apache Spark, Python és BI-eszközök, például Tableau és Power BI használatával is lekérdezheti a Databricks JDBC/ODBC-illesztőprogramok használatával. A Databricks JDBC/ODBC-illesztőprogramokkal való csatlakozásról a Databricks ODBC- és JDBC-illesztőprogramok című témakörben olvashat.

Megosztott jegyzetfüzetek olvasása

Megosztott jegyzetfüzetfájlok előnézetének megtekintéséhez és klónozásához használhatja a Catalog Explorert.

Szükséges engedélyek: A katalógus tulajdonosa vagy a USE CATALOG megosztásból létrehozott katalógusban szereplő jogosultsággal rendelkező felhasználó.

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemreKatalógus ikon.

  2. A bal oldali panelen bontsa ki a Katalógus menüt, keresse meg és válassza ki a megosztásból létrehozott katalógust.

  3. Az Egyéb eszközök lapon minden megosztott jegyzetfüzetfájl megjelenik.

  4. Kattintson egy megosztott jegyzetfüzetfájl nevére az előnézet megtekintéséhez.

  5. (Nem kötelező) A Klónozás gombra kattintva importálhatja a megosztott jegyzetfüzetfájlt a munkaterületre.

    1. A Klónozás párbeszédpanelen adjon meg egy Új nevet, majd válassza ki azt a munkaterületi mappát, ahová a jegyzetfüzetfájlt klónozni szeretné.
    2. Kattintson a Klónozás gombra.
    3. A jegyzetfüzet klónozása után megjelenik egy párbeszédpanel, amelyen tudathatja, hogy sikeresen klónozta. A jegyzetfüzet-szerkesztőben kattintson a Megjelenítés gombra a párbeszédpanelen.

    Lásd a Databricks-jegyzetfüzetek bemutatása című témakört.