Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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:
- 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.
- 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.
- 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 (
SELECTvagyREAD VOLUME) hozzáféréssel rendelkezik. - A megosztásban megtekintheti és klónozhat jegyzetfüzeteket, amennyiben rendelkezik a katalógusban szereplő
USE CATALOGjogosultsá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:
- 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 CATALOGUnity Catalog-metaadattárhoz tartozó jogosultságokkal ésUSE PROVIDERjogosultságokkal, vagy olyan felhasználó, aki aCREATE CATALOGszolgáltató objektum jogosultságával és tulajdonjogával is rendelkezik. - 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.
- 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ő
A Azure Databricks munkaterületen kattintson a
Catalog elemre a Catalog Explorer megnyitásához.
A Katalógus panel tetején kattintson a
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>.
A Velem megosztva lapon keresse meg és válassza ki a szolgáltatót.
Keresse meg a kívánt megosztást, és kattintson a Katalógushoz csatolás gombra a megosztási sorban.
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.
Adja meg az új katalógus nevét, vagy válassza ki, hogy melyik meglévő katalógushoz szeretné hozzáadni a megosztást.
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ésSELECTtáblák esetén. -
DESCRIBE VOLUME,LIST <volume-path>,SELECT * FROM <format>.'<volume_path>'ésCOPY INTOkö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
SELECTjogosultsá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
responseFormatbeállítástdelta.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, mintUPDATEa ,MERGE INTO,DELETE(partíciókon belüli) vagyOVERWRITE. 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é.ignoreChangesmagában foglaljaignoreDeletes. Ezért ha használjaignoreChanges, 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 tartmaxFilesPerTrigger, ésmaxVersionsPerRpca rögzített verzió kimerülése után leáll. AresponseFormat=deltahasználatához Databricks Runtime 18.0 vagy újabb szükséges;responseFormat=parquetemellett megköveteli, hogy a csomagoltdelta-sharing-clientJAR-fájl 1.4.0-s vagy újabb legyen (a régebbi verziók egyTrigger.AvailableNowwrapperre állnak vissza, amely nem veszi figyelembe a(z)maxVersionsPerRpcbeállítást). -
Trigger.Once: Elavult; helyett.Trigger.AvailableNowA Databricks Runtime 17.3-as és annál korábbi verzióiban a(z)Trigger.AvailableNowautomatikusanTrigger.Once-re alakul, mert a natívTrigger.AvailableNowtá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
view1függview2-től a szolgáltatói oldalon, és mindkét nézet meg van osztva Önnel, nem hivatkozhat mind aview1-re, mind aview2-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:
- Tranzakciókat hajthat végre megosztott materializált nézeteken és streamelő táblákon. Lásd a tranzakciós követelményeket és korlátozásokat.
SQL-korlátozások:
- A
current_recipientfüggvény nem támogatott. - A
DESCRIBE EXTENDEDparancs 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ó.
Az Azure Databricks-munkaterületen kattintson az
Katalógus.
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.
Az Egyéb eszközök lapon minden megosztott jegyzetfüzetfájl megjelenik.
Kattintson egy megosztott jegyzetfüzetfájl nevére az előnézet megtekintéséhez.
(Nem kötelező) A Klónozás gombra kattintva importálhatja a megosztott jegyzetfüzetfájlt a munkaterületre.
- 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é.
- Kattintson a Klón lehetőségre.
- 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.
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ó.
A Azure Databricks munkaterületen kattintson a
Catalog elemre a Catalog Explorer megnyitásához.
A Katalógus panel tetején kattintson a
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>.
A Velem megosztva lapon keresse meg és válassza ki a szolgáltatót.
Kattintson a
a megosztási sorban.
Kattintson a Megosztás leválasztása elemre.
Kattintson a Leválasztás gombra.