A Databricks-to-Databricks OpenSharing használatával megosztott adatok olvasása (címzettek számára)

Ez a lap bemutatja, hogyan olvashatja el az Önnel megosztott adatokat a Databricks-to-Databricks OpenSharing protokollal, ahol a Databricks biztonságos kapcsolatot kezel az adatmegosztáshoz. Az OpenSharing 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 önnek, mint címzettnek meg kell felelnie az alábbi követelményeknek :

  • Hozzáféréssel rendelkezik a Unity Cataloghoz engedélyezett Databricks-munkaterülethez.
  • A szolgáltató a Databricks-to-Databricks OpenSharing protokollt használja, nem a Databricks-to-Open megosztási protokollt, amely hitelesítőadat-fájlt biztosít Önnek.

Ha a szolgáltató nyílt megosztást használ (amely hitelesítőadat-fájlt biztosít), de rendelkezik Unity-katalógus-kompatibilis munkaterülettel, importálhatja a szolgáltatót, és elolvashatja a megosztott adatokat a Azure Databricks. Lásd: Szolgáltató importálása és megosztott adatok beolvasása az Azure Databricksben. Ha nem rendelkezik Unity Catalogot támogató munkaterülettel, lásd: Bearer tokenekkel megosztott adatok olvasása.

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 ad 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 olvasásra elérhetővé válnak a munkaterületén. Az adatszolgáltató által a megosztott táblákra, nézetekre, kötetekre és partíciókra végzett frissítések közel valós időben jelennek meg a munkaterületen.

Note

Előfordulhat, hogy az oszlopmódosítások, például a hozzáadás, az átnevezés vagy a 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, beleértve az új táblák hozzáadását is, egy percig gyorsítótárazva lesznek, mielőtt azok megtekinthetők és lekérdezhetők lennének.

Note

A megosztott katalógusból származó information_schema táblák a Unity Katalógusban tárolt metaadatokat tükrözik. Ez a metaadatok csak akkor frissülnek a szolgáltatótól, ha közvetlenül kérdezi le a megosztott táblát, vagy futtat egy parancsot, például a DESCRIBE vagy REFRESH FOREIGNa . Addig information_schema is elavultnak tűnhet a szolgáltató adataihoz képest.

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 tagjai számára.
  3. Elolvashatja azokat az adatokat a táblákban, nézetekben és kötetekben, amelyekhez hozzáférést kapott, mint bármely adategység a Databricksben, amelyhez írásvédett (SELECT vagy READ VOLUME) hozzáféréssel rendelkezik.
  4. A megosztásban megtekintheti és klónozhat 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, rendelkeznie kell a USE PROVIDER jogosultsággal. 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 : Az OpenSharing katalógus sémáinak, tábláinak és köteteinek engedélyeinek kezelése.

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, vagy csatlakoztatnia kell a megosztást egy meglévő megosztott katalógushoz. 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. Ha egy meglévő megosztott katalógushoz szeretné csatlakoztatni a megosztást, használja a Katalóguskezelőt.

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

A megosztás meglévő katalógushoz való csatlakoztatásához szükséges engedélyek: A felhasználónak rendelkeznie kell a USE PROVIDER szolgáltatói objektum jogosultságával vagy tulajdonosával, valamint vagy a meglévő megosztott katalógus tulajdonosával, vagy mindkettővel MANAGE és USE CATALOG jogosultságokkal a meglévő megosztott katalógusban.

Note

Ha egy SAP BDC-megosztásból hoz létre katalógust, az SAP szemantikai metaadatai (tábla- és oszlopbejegyzések, elsődleges kulcsok, idegen kulcsok és szabályozási címkék) automatikusan szinkronizálódnak a katalógusba. Nincs szükség további műveletre. További részletekért tekintse meg az SAP BDC szemantikai metaadatait.

Note

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. A Azure Databricks munkaterületen kattintson a Data icon.Catalog elemre a Catalog Explorer megnyitásához.

  2. A Katalógus panel tetején kattintson a Fogaskerék ikonra. fogaskerék ikonra, és válassza az OpenSharing lehetőséget.

    Másik lehetőségként a jobb felső sarokban kattintson az OpenSharing megosztása elemre>.

  3. A Velem megosztva lapon keresse meg és válassza ki a szolgáltatót.

  4. Keresse meg a kívánt megosztást, és kattintson a Katalógushoz csatolás gombra a megosztási sorban.

  5. Válassza a Create a new catalog or Mount to existing catalog (Új katalógus létrehozása vagy csatlakoztatás a meglévő katalógushoz ) lehetőséget az adategység meglévő katalógushoz való hozzáadásához.

  6. Adja meg az új katalógus nevét, vagy válassza ki, hogy melyik meglévő katalógushoz szeretné hozzáadni a megosztást.

  7. Kattintson a Létrehozás vagy csatlakoztatás gombra.

Másik lehetőségként a Katalóguskezelő megnyitásakor a jobb felső sarokban található + > Katalógus létrehozása elemre kattintva létrehozhat egy megosztott katalógust. Lásd: Katalógusok létrehozása.

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>;

parancssori felület

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

A megosztásból létrehozott katalógus az OpenSharing 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ó.

Az OpenSharing-katalógusok ugyanúgy kezelhetők, mint a Unity Catalog-metaadattárak szokásos katalógusai. Az OpenSharing-katalógusokat megtekintheti, frissítheti és törölheti a Catalog Explorer, a Databricks parancssori felület, valamint a , SHOW CATALOGS, DESCRIBE CATALOGés ALTER CATALOG SQL-parancsok használatávalDROP CATALOG.

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

A megosztott katalógusban lévő tábla- és kötet adatok írásvédettek, ami azt jelenti, hogy olvasási műveletek hajthatók végre, 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ó megtekintheti és klónozhatja.

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.

Az OpenSharing katalógus sémáinak, tábláinak és köteteinek engedélyeinek kezelése

Alapértelmezés szerint a katalógus létrehozója az OpenSharing 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 : Jogosultságöröklés. 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. Az OpenSharing katalógusban lévő OpenSharing katalógusokhoz vagy objektumokhoz írási vagy frissítési hozzáférést biztosító jogosultságok nem adhatóak.

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

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

Ha a szolgáltató megosztotta a táblát WITH HISTORY, tranzakciókat futtathat a táblán. A tranzakciós követelményekről és korlátozásokról további információt a Tranzakciók című témakörben talál.

Adatok olvasása megosztott idegen táblában vagy idegen sémában

Important

Ez a funkció bétaverzióban érhető el. A munkaterület rendszergazdái az Előnézetek lapon szabályozhatják a funkcióhoz való hozzáférést. Lásd: Az Azure Databricks előzetes verziójának kezelése.

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

Tranzakciókat futtathat megosztott külföldi táblákon. Lásd a tranzakciós követelményeket és korlátozásokat.

A megosztott idegen tábla vagy idegen séma elérése további költségekkel jár. A megosztási költségek kiszámításával kapcsolatos további információkért tekintse meg az OpenSharing költségeinek felmerülését és ellenőrzését ismertető cikket.

Korlátozások: A megosztott idegen táblák olvasásához nem kerülheti el a fürtkorlátozást, még akkor sem, ha a szolgáltató engedélyezi.

Adatok olvasása egy megosztott külső Iceberg táblában

Important

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

Egy megosztott idegen Iceberg-táblában adatokat olvashat a Azure Databricks felhasználóként elérhető eszközök bármelyikével: Catalog Explorer, notebookok, SQL-lekérdezések, Databricks CLI és Databricks REST API-k. A Catalog Explorerben egy megosztott külföldi Iceberg-tábla jelenik meg, amely egy Idegen típusú táblázattal és egy Iceberg adatforrás-formátummal jelenik meg.

Hozzáféréssel rendelkezik a forrás icebergi helyéhez, de csak a következő típusú lekérdezéseket hajthatja végre:

  • Pillanatkép-lekérdezések
  • Streamelési lekérdezések

Követelmények:

  • Önnek rendelkeznie kell a SELECT jogosultsággal a közösen használt külföldi Iceberg-táblán.
  • A Databricks Runtime 15.4 LTS vagy újabb verzióját kell használnia.

Adatok olvasása megosztott kötetben

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

Az ABAC által védett adatok olvasása és ABAC-szabályzatok alkalmazása

Az attribútumalapú hozzáférés-vezérlés (ABAC) egy adatszabályozási modell, amely rugalmas, skálázható és központosított hozzáférés-vezérlést biztosít az Azure Databricksben.

Megosztásból létrehozott megosztott táblákhoz, sémákhoz és katalógusokhoz hozzon létre ABAC-szabályzatokat. A materializált nézetek korlátozásokkal támogatottak. Nem hozhat létre ABAC-szabályzatokat megosztott streamelési táblákhoz vagy materializált nézetekhez. Az ABAC-szabályzatok konfigurálásához lásd: Sorszűrő- és oszlopmaszk-szabályzatok létrehozása és kezelése.

Sorkövetési oszlopok olvasása megosztott táblákban

Ha az adatszolgáltató engedélyezte a sorkövetést egy megosztott táblán, lekérdezheti a sorkövetés metaadatainak oszlopait. Az elérhető oszlopok listáját a Azure Databricks sorkövetésében találja.

Az oszlopok elérése a megosztott tábla típusától függ:

  • Előzményekkel és partíciószűrők nélkül megosztott táblák: A sorkövetési oszlopokat korlátozás nélkül kérdezheti le.

  • Partíciószűrőkkel vagy előzmény nélkül megosztott táblák: a Scala Sparkot kell használnia, és explicit módon be kell állítania a responseFormat beállítást delta.

    spark.read.option(“responseformat”, “delta”).table(“shared_table”).select(“_metadata.row_id”).show()
    

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 való használatával kapcsolatos részletekért lásd a modell verziószámának alias szerinti betöltését a következtetési számítási feladatokhoz.

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éldául:

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 Változásadatcsatorna használata Azure Databricks 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 megjeleníthetők. Ezért az alsóbb rétegbeli fogyasztóknak képesnek kell lenniük az ismétlődések kezelésére. A törléseket a rendszer nem propagálja lefelé. ignoreChanges magában foglalja 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éldául: "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 mikrokö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.

Támogatott eseményindítók:

  • Trigger.ProcessingTime: Az alapértelmezett eseményindító, amely akkor használatos, ha nincs megadva explicit eseményindító. Az adatok feldolgozása folyamatos mikro kötegekben történik.
  • Trigger.AvailableNow: A lekérdezés első lépésben rögzíti a megosztott tábla kiszolgálóoldali verzióját, több olyan mikrokötegként dolgozza fel a hátralékot, amelyeket tiszteletben tart maxFilesPerTrigger , és maxVersionsPerRpca rögzített verzió kimerülése után leáll. A responseFormat=delta használatához Databricks Runtime 18.0 vagy újabb szükséges; responseFormat=parquet emellett megköveteli, hogy a csomagolt delta-sharing-client JAR-fájl 1.4.0-s vagy újabb legyen (a régebbi verziók egy Trigger.AvailableNow wrapperre állnak vissza, amely nem veszi figyelembe a(z) maxVersionsPerRpc beállítást).
  • Trigger.Once: Elavult; helyett.Trigger.AvailableNow A Databricks Runtime 17.3-as és annál korábbi verzióiban a(z) Trigger.AvailableNow automatikusan Trigger.Once-re alakul, mert a natív Trigger.AvailableNow támogatás a Databricks Runtime 18.0-s vagy újabb verzióját igényli.

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ához engedélyezve van a változási adatfolyam (CDF), akkor a CDF-et folyamatosan olvashatja.

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

Sorszűrők és oszlopmaszkok alkalmazása

Ha sorszűrőket és oszlopmaszkokat szeretne alkalmazni az adatszolgáltató által megosztott táblákra és idegen táblákra, olvassa el a Sorszűrők és oszlopmaszkok manuális alkalmazása című témakört. Streamelő táblákra vagy materializált nézetekre nem alkalmazhat oszlopmaszkokat.

Táblák olvasása, amelyeknél törlési vektorok vagy oszlopleképezés van engedélyezve

Important

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

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: Törlési vektorok a Databricksben.

Azure Databricks a Delta-táblák oszlopleképezését is támogatja. Lásd: Oszlopok átnevezése és elhagyása a Delta Lake oszlopleképezés alkalmazásával.

Ha a szolgáltató egy táblát osztott meg engedélyezett törlési vektorokkal vagy oszlopleképezéssel, akkor kötegelt olvasásokat végezhet el a táblán egy SQL-adattárházzal vagy egy Databricks Runtime 14.1 vagy újabb verzióját futtató fürttel. 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 változtatás nélkül is végrehajthatja, mert azok automatikusan megoldódhatnak 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 tételes, CDF- és folyamatos 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 kezelt Iceberg-táblák olvasása

Important

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

A megosztott felügyelt Iceberg-táblák olvasása megegyezik a megosztott táblák olvasásával, az alábbi kivételekkel:

Az Databricks-to-Open megosztás támogatása:

A cikkben szereplő utasítások arra összpontosítanak, hogyan lehet olvasni a megosztott adatokat az Azure Databricks felhasználói felületein keresztül, különösen a Unity Catalog szintaxisait és felületeit használva. Az OpenSharing-összekötők speciális Delta-funkciótámogatásának korlátozása miatt a megosztott felügyelt Iceberg-táblák lekérdezése Python, Tableau és Power BI használatával nem támogatott.

Adatcsatorna módosítása:

A felügyelt Iceberg-táblák nem támogatják a változási adatcsatornát.

Az Azure Databricks Iceberg korlátozásai:

A Iceberg-tábla és a felügyelt Iceberg-táblákra vonatkozó korlátozások érvényesek. Lásd Korlátozások.

Megosztott nézetek olvasása

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

Megosztott nézetek korlátozásai:

  • A megosztott nézetek csak a Databricks beépített függvényeinek és operátorainak egy részét támogatják. Lásd a Databricks-to-Databricks nézetmegosztásban támogatott függvényeket.
  • A címzettek nem kérdezhetnek le több mint 20 megosztott nézetet a Databricks-to-Databricks megosztásban lévő lekérdezésekben. A megosztott nézetek legfeljebb öt különböző szolgáltatói megosztásból származhatnak.
  • Ha a szolgáltató ugyanabból a fiókból származik, vagy ha kiszolgáló nélküli számítást használ egy másik fiókban, egyetlen lekérdezésben nem kérdezhet le több függő nézetet ugyanabból a szolgáltatóból. Például, ha view1 függ view2-től a szolgáltatói oldalon, és mindkét nézet meg van osztva Önnel, nem hivatkozhat mind a view1-re, mind a view2-re ugyanabban a lekérdezésben.
  • A tranzakciók megosztott nézeteken is futtathatók. Lásd a tranzakciós követelményeket és korlátozásokat.

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.

Lekérdezés eredményének időtúllépése:

Ha nem rendelkezik közvetlen hozzáféréssel a mögöttes adatokhoz, az Azure Databricks azonnali materializációt hajt végre, amikor a nézetet lekérdezi. Ha ez a materializálás 5 percnél hosszabb időt vesz igénybe, a lekérdezés túllépi az időkorlátot. Váltson kiszolgáló nélküli számításra a korlátozás elkerülése érdekében.

Előzmények és streamelés:

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

A Databricks–Open megosztás támogatásának megtekintése:

A cikkben szereplő utasítások arra összpontosítanak, hogyan lehet olvasni a megosztott adatokat az Azure Databricks felhasználói felületein keresztül, különösen a Unity Catalog szintaxisait és felületeit használva. A megosztott nézeteket az Apache Spark, a Python és a BI-eszközök, például a Tableau és a Power BI használatával is lekérdezheti.

Costs:

A megosztási költségek kiszámításával kapcsolatos további információkért tekintse meg az OpenSharing költségeinek felmerülését és ellenőrzését ismertető cikket.

Megosztott streamelési táblák és materializált nézetek olvasása

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

Az Databricks-to-Open megosztás támogatása:

Az ezen a lapon található utasítások a közösen használt adatoknak az Azure Databricks felhasználói felületeinek használatával történő olvasásához nyújtanak útmutatót, különösen a Unity Catalog szintaxisára és felületeire összpontosítva. A megosztott streamelési táblákat és a materializált nézeteket az Apache Spark, a Python és a BI eszközök, például a Tableau és a Power BI használatával is lekérdezheti. Lásd: Bearer tokenekkel megosztott adatok olvasása.

Tranzakciók:

SQL-korlátozások:

  • A current_recipient függvény nem támogatott.
  • A DESCRIBE EXTENDED parancs nem támogatott.

Oszlopleképezés:

Ha klasszikus számítást használ egy másik Azure Databricks-fiókból származó megosztás fogadásakor, az responseFormat alábbihoz hasonlót kell megadnia, amikor materializált nézetet vagy oszlopleképezéssel rendelkező streamtáblákat kérdez le.

spark.read.option("responseFormat", "delta").table("catalog_name.schema_name.mv_name")

Ha hagyományos számítási erőforrást használ ugyanazon Azure Databricks-fiókban végzett megosztáskor, vagy kiszolgáló nélküli számítást bármely forgatókönyvben, korlátozás nélkül végezhet lekérdezéseket.

Costs:

A megosztási költségek kiszámításával kapcsolatos további információkért tekintse meg az OpenSharing költségeinek felmerülését és ellenőrzését ismertető cikket.

Megtestesült nézetre vonatkozó kivételek

History:

Az előzmények nem kérdezhetők le.

Refresh:

A materializált nézet frissítési állapota és ütemezése nem érhető el.

Tábla létrehozásának megtekintése és streamelése:

Megosztott materializált nézeteken nem hozhat létre streamtáblákat.

Adatfolyam táblákra vonatkozó kivételek

History:

A lekérdezési előzmények a következő Databricks-to-Databricks megosztási körülmények között érhetők el:

  • Kiszolgáló nélküli számítást használ egy másik Azure Databricks-fiókkal való megosztáskor.

  • Ha ugyanazon az Azure Databricks-fiókon belül oszt meg, akkor kiszolgáló nélküli vagy klasszikus számítást használ.

A különböző számításokkal kapcsolatos további információkért lásd: Compute.

Refresh:

A streamelési tábla frissítési állapota és ütemezése nem érhető el.

Megosztott Python-UDF-ek olvasása

A megosztott Python UDF-ek olvasása ugyanaz, mint a megosztott táblák olvasása. Miután létrehozott egy új katalógust a megosztáshoz, vagy csatlakoztatta a megosztást egy meglévő katalógushoz, elérheti és használhatja a Python UDF-et.

Megosztott olvasás FeatureSpecs

A megosztott FeatureSpecs olvasás ugyanaz, mint a megosztott táblák olvasása. Miután létrehozott egy új katalógust a megosztáshoz, vagy csatlakoztatta a megosztást egy meglévő katalógushoz, üzembe helyezheti a FeatureSpec kívánt kiszolgálóvégponton. A végpontok létrehozásának módjáról a Végpont létrehozása című témakörben olvashat.

Ha a szolgáltató FeatureSpec-t egy új függőséggel frissíti, de nem osztja meg Önnel a függőséget, a modell kudarcot vall. Új függőségek kereséséhez lépjen kapcsolatba az adatszolgáltatóval.

A szolgáltatás előtt FeatureSpeclétre kell hoznia egy online áruházat, és közzé kell tennie a függő táblákat a munkaterületen. Az online áruházak létrehozásáról és a tábla közzétételéről a Databricks Online szolgáltatástárolók 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.

Tárolási korlátozás: Ha a tároló privát végpontokat használ, nem olvashat megosztott jegyzetfüzeteket.

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 az Adatok ikonra.Katalógus.

  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 szükség esetén 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ón lehetőségre.
    3. Miután a jegyzetfüzet klónozása befejeződött, megjelenik egy párbeszédpanel, amely tájékoztatja Önt, hogy a klónozás sikeres volt. A párbeszédpanelen kattintson a jegyzetfüzet-szerkesztőben megjelenítés lehetőségre, hogy megtekintse azt a jegyzetfüzet-szerkesztőben.

    Lásd a Databricks-jegyzetfüzeteket.

Megosztás leválasztása

A megosztás leválasztása az adategység katalógusból való eltávolításához.

Szükséges engedélyek: A megosztott katalógusban szereplő USE CATALOG jogosultságokkal rendelkező MANAGE felhasználó.

  1. A Azure Databricks munkaterületen kattintson a Data icon.Catalog elemre a Catalog Explorer megnyitásához.

  2. A Katalógus panel tetején kattintson a Fogaskerék ikonra. fogaskerék ikonra, és válassza az OpenSharing lehetőséget.

    Másik lehetőségként a jobb felső sarokban kattintson az OpenSharing megosztása elemre>.

  3. A Velem megosztva lapon keresse meg és válassza ki a szolgáltatót.

  4. Kattintson a Kebab menü ikonra. a megosztási sorban.

  5. Kattintson a Megosztás leválasztása elemre.

  6. Kattintson a Leválasztás gombra.