Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato stránka popisuje, jak číst data sdílená s vámi pomocí protokolu OpenSharing open sharing s nosnými tokeny. Obsahuje pokyny ke čtení sdílených dat pomocí následujících nástrojů:
V tomto modelu sdílení použijete soubor přihlašovacích údajů sdílený s členem vašeho týmu poskytovatelem dat, abyste získali zabezpečený přístup ke čtení sdílených dat. Přístup přetrvává, dokud jsou přihlašovací údaje platné a poskytovatel bude dál sdílet data. Zprostředkovatelé spravují vypršení platnosti a obměnu přihlašovacích údajů. Aktualizace dat jsou k dispozici téměř v reálném čase. Můžete číst a vytvářet kopie sdílených dat, ale nemůžete upravovat zdrojová data.
Note
Pokud s vámi data sdílíte pomocí Databricks-to-Databricks OpenSharing, nepotřebujete pro přístup k datům soubor přihlašovacích údajů a tato stránka se na vás nevztahuje. Místo toho si přečtěte téma Čtení dat sdílených pomocí Databricks-to-Databricks OpenSharing (pro příjemce).
Následující části popisují, jak používat klienty Apache Spark, pandas, Power BI a Iceberg pro přístup ke sdíleným datům a ke čtení sdílených dat pomocí souboru přihlašovacích údajů. Úplný seznam konektorů OpenSharing a informace o tom, jak je používat, najdete v dokumentaci k OpenSharingu open source. Pokud narazíte na potíže s přístupem ke sdíleným datům, obraťte se na poskytovatele dat.
Než začnete
Člen vašeho týmu si musí stáhnout soubor přihlašovacích údajů sdílený poskytovatelem dat a použít zabezpečený kanál ke sdílení tohoto souboru nebo umístění souboru s vámi. Viz Získání přístupu v modelu sdílení Databricks-to-Open.
Dokumentaci ke konkrétnímu konektoru najdete na stránce s přihlašovacími údaji ke stažení.
Klienti Iceberg: Čtení sdílených dat
Pomocí externích klientů Icebergu, jako jsou Snowflake, Trino, Flink a Spark, můžete číst sdílené datové prostředky s přístupem bez kopírování prostřednictvím REST rozhraní API katalogu Apache Iceberg.
Získání přihlašovacích údajů pro připojení
Před přístupem ke sdíleným datovým prostředkům s externími klienty Icebergu shromážděte následující přihlašovací údaje:
- Koncový bod katalogu Iceberg REST
- Platný nosný token
- Název sdílené složky
- (Volitelné) Název jmenného prostoru nebo schématu
- (Volitelné) Název tabulky
Koncový bod katalogu Iceberg REST (icebergEndpoint) a nosný token se nacházejí v souboru přihlašovacích údajů, který s vámi sdílí váš poskytovatel dat. Další informace najdete v tématu Než začnete. Název sdílené složky, obor názvů a název tabulky lze zjistit programově pomocí rozhraní API OpenSharing.
Important
Nachází se icebergEndpoint v souboru přihlašovacích údajů a má formát <workspace-url>/api/2.0/delta-sharing/metastores/<metastore-id>/iceberg.
Následující příklady ukazují, jak získat další přihlašovací údaje. V případě potřeby zadejte koncový bod, koncový bod Iceberg a nosný token ze souboru přihlašovacích údajů:
// List shares
curl -X GET "<endpoint>/shares" \
-H "Authorization: Bearer <bearerToken>"
// List namespaces
curl -X GET "<icebergEndpoint>/v1/shares/<share>/namespaces" \
-H "Authorization: Bearer <bearerToken>"
// List tables
curl -X GET "<icebergEndpoint>/v1/shares/<share>/namespaces/<namespace>/tables" \
-H "Authorization: Bearer <bearerToken>"
Note
Tato metoda vždy načte nejaktuálnější seznam prostředků. Vyžaduje ale přístup k internetu a může být obtížnější integrovat do prostředí bez kódu.
Konfigurace katalogu Iceberg
Po získání potřebných přihlašovacích údajů pro připojení nakonfigurujte klienta tak, aby k vytváření a dotazování tabulek používal koncové body katalogu Iceberg REST Catalog.
Pro každou sdílenou složku vytvořte integraci katalogu.
USE ROLE ACCOUNTADMIN; CREATE OR REPLACE CATALOG INTEGRATION <CATALOG_PLACEHOLDER> CATALOG_SOURCE = ICEBERG_REST TABLE_FORMAT = ICEBERG REST_CONFIG = ( CATALOG_URI = '<icebergEndpoint>', WAREHOUSE = '<share_name>', ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS ) REST_AUTHENTICATION = ( TYPE = BEARER, BEARER_TOKEN = '<bearerToken>' ) ENABLED = TRUE;Volitelně můžete přidat
REFRESH_INTERVAL_SECONDS, aby byla metadata aktuální. Nastavte hodnotu na základě frekvence aktualizace katalogu.REFRESH_INTERVAL_SECONDS = 30Po nakonfigurování katalogu vytvořte z katalogu databázi. Tím se automaticky vytvoří všechna schémata a tabulky v tomto katalogu.
CREATE DATABASE <DATABASE_PLACEHOLDER> LINKED_CATALOG = ( CATALOG = <CATALOG_PLACEHOLDER> );Pokud chcete ověřit, že sdílení proběhlo úspěšně, zadejte dotaz z tabulky v databázi. Měla by se zobrazit sdílená data z Azure Databricks.
Pokud je výsledek prázdný nebo dojde k chybě, postupujte podle těchto běžných kroků pro řešení potíží:
- Pečlivě zkontrolujte oprávnění, stav generování snímků a přihlašovací údaje REST.
- Obraťte se na svého poskytovatele dat.
- Prohlédněte si dokumentaci týkající se vašeho klienta Iceberg.
Příklad: Přístup ke sdíleným tabulkám pomocí různých klientů Iceberg
Následující příklady ukazují, jak po získání přihlašovacích údajů pro připojení přistupovat k otevřeným sdíleným tabulkám pomocí externích klientů Icebergu, jako jsou Snowflake, Apache Spark, PyIceberg a REST API. Další informace o získání přihlašovacích údajů pro připojení najdete v tématu Než začnete.
Snowflake
Pokud chcete číst sdílené datové prostředky ve Snowflake, nahrajte soubor přihlašovacích údajů, který jste stáhli, a vygenerujte potřebný příkaz SQL:
Na odkazu pro aktivaci OpenSharing klikněte na ikonu Snowflake.
Na stránce integrace Snowflake nahrajte soubor přihlašovacích údajů, který jste obdrželi od zprostředkovatele dat.
Po načtení přihlašovacích údajů zvolte sdílenou složku, ke které chcete mít přístup ve Snowflake.
Po výběru požadovaných položek klikněte na Generovat SQL.
Zkopírujte a vložte vygenerovaný SQL do listu Snowflake. Nahraďte
CATALOG_PLACEHOLDERnázvem katalogu, který chcete použít, aDATABASE_PLACEHOLDERnázvem databáze, kterou chcete použít.
Limitations
Připojení k katalogu Iceberg REST v Snowflake má následující omezení:
- Soubor metadat se automaticky neaktualizuje pomocí nejnovějšího snímku. Musíte spoléhat na automatické aktualizace nebo ruční aktualizace.
- R2 se nepodporuje.
- Platí všechna omezení klienta Icebergu .
Apache Spark
Pokud chcete přistupovat ke sdíleným tabulkám pomocí Apache Sparku, nakonfigurujte rozhraní API katalogu Iceberg s využitím následujících nastavení. Nahraďte <spark-catalog-name> názvem vašeho katalogu a zadejte přihlašovací údaje pro připojení:
"spark.sql.extensions": "org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions",
# Configuration for accessing tables shared using Delta Sharing
"spark.sql.catalog.<spark-catalog-name>":"org.apache.iceberg.spark.SparkCatalog",
"spark.sql.catalog.<spark-catalog-name>.type": "rest",
"spark.sql.catalog.<spark-catalog-name>.uri": "<icebergEndpoint>",
"spark.sql.catalog.<spark-catalog-name>.token": "<bearerToken>",
"spark.sql.catalog.<spark-catalog-name>.warehouse":"<share_name>",
"spark.sql.catalog.<spark-catalog-name>.scope":"all-apis"
PyIceberg
PyIceberg je implementace Pythonu pro přístup k tabulkám Iceberg bez použití JVM. PyIceberg vyžaduje pyarrow pro operace tabulek, jako je čtení dat a kontrola metadat tabulek. Nainstalujte PyIceberg navíc pyarrow :
pip install "pyiceberg[pyarrow]"
Pokud chcete získat přístup ke sdíleným tabulkám, přidejte do konfiguračního souboru PyIceberg následující konfiguraci katalogu:
catalog:
delta_sharing:
type: rest
uri: <icebergEndpoint>
warehouse: <share_name>
token: <bearerToken>
REST API
Pomocí volání rozhraní REST API jako v následujícím curl příkladu načtěte tabulku a načtěte její metadata spolu s dočasnými přihlašovacími údaji pro přístup k datovým souborům:
curl -X GET -H "Authorization: Bearer <bearerToken>" -H "Accept: application/json" \
<icebergEndpoint>/v1/shares/<share_name>/namespaces/<schema_name>/tables/<table_name>
Odpověď zahrnuje metadata tabulek Iceberg, umístění S3 a dočasné přihlašovací údaje AWS, které klientovi umožňují číst datové soubory:
{
"metadata-location": "s3://bucket/path/to/iceberg/table/metadata/file",
"metadata": <iceberg-table-metadata-json>,
"config": {
"expires-at-ms": "<epoch-ts-in-millis>",
"s3.access-key-id": "<temporary-s3-access-key-id>",
"s3.session-token": "<temporary-s3-session-token>",
"s3.secret-access-key": "<temporary-secret-access-key>",
"client.region": "<aws-bucket-region-for-metadata-location>"
}
}
Omezení klienta Icebergu
Při dotazování dat OpenSharing z klientů Iceberg platí následující omezení:
- Při zobrazování tabulek v jmenném prostoru, pokud jmenný prostor obsahuje více než 100 sdílených zobrazení, je odpověď omezena na prvních 100 zobrazení.
Apache Spark: Čtení sdílených dat
Pokud chcete získat přístup ke sdíleným datům pomocí Sparku 3.x nebo novějšího, postupujte takto.
Tyto pokyny předpokládají, že máte přístup k souboru přihlašovacích údajů, který sdílel poskytovatel dat. Viz Získání přístupu v modelu sdílení Databricks-to-Open.
Important
Zajistěte, aby byl soubor přihlašovacích údajů přístupný apache Sparkem pomocí absolutní cesty. Cesta může odkazovat na cloudový objekt nebo svazek katalogu Unity.
Note
Pokud používáte Spark v pracovním prostoru Azure Databricks, který je povolený pro katalog Unity, a použili jste uživatelské rozhraní zprostředkovatele importu k importu poskytovatele a sdílení, pokyny v této části se na vás nevztahují. Ke sdíleným tabulkám můžete přistupovat stejně jako k jakékoli jiné tabulce, která je zaregistrovaná v katalogu Unity. Není nutné instalovat konektor delta-sharing Python nebo zadat cestu k souboru přihlašovacích údajů. Viz Importujte poskytovatele a čtěte sdílená data v Azure Databricks.
Instalace konektorů OpenSharing Python a Sparku
Pokud chcete získat přístup k metadatům souvisejícím se sdílenými daty, jako je seznam tabulek, které s vámi někdo sdílí, postupujte takto. Tento příklad používá Python.
Nainstalujte konektor Python delta-sharing. Informace o omezeních konektorů Python najdete v tématu Omezení konektoru OpenSharing Python.
pip install delta-sharingNainstalujte konektor Apache Spark.
Výpis sdílených tabulek pomocí Sparku
Zobrazí seznam tabulek ve sdílené složce. V následujícím příkladu nahraďte <profile-path> umístěním souboru přihlašovacích údajů.
import delta_sharing
client = delta_sharing.SharingClient(f"<profile-path>/config.share")
client.list_all_tables()
Výsledkem je pole tabulek spolu s metadaty pro každou tabulku. Následující výstup ukazuje dvě tabulky:
Out[10]: [Table(name='example_table', share='example_share_0', schema='default'), Table(name='other_example_table', share='example_share_0', schema='default')]
Pokud je výstup prázdný nebo neobsahuje očekávané tabulky, obraťte se na poskytovatele dat.
Přístup ke sdíleným datům pomocí Sparku
Spusťte následující příkaz a nahraďte tyto proměnné:
-
<profile-path>: umístění souboru přihlašovacích údajů. -
<share-name>: hodnotashare=pro tabulku. -
<schema-name>: hodnotaschema=pro tabulku. -
<table-name>: hodnotaname=pro tabulku. -
<version-as-of>:volitelný. Verze tabulky, která se použije pro načtení dat. Funguje pouze v případě, že poskytovatel dat sdílí historii tabulky. Vyžadujedelta-sharing-sparkverzi 0.5.0 nebo vyšší. -
<timestamp-as-of>:volitelný. Načtěte data ve verzi, která je před nebo k danému časovému razítku. Funguje pouze v případě, že poskytovatel dat sdílí historii tabulky. Vyžadujedelta-sharing-sparkverzi 0.6.0 nebo vyšší.
Python
delta_sharing.load_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>", version=<version-as-of>)
spark.read.format("deltaSharing")\
.option("versionAsOf", <version-as-of>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")\
.limit(10)
delta_sharing.load_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>", timestamp=<timestamp-as-of>)
spark.read.format("deltaSharing")\
.option("timestampAsOf", <timestamp-as-of>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")\
.limit(10)
Scala
spark.read.format("deltaSharing")
.option("versionAsOf", <version-as-of>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
.limit(10)
spark.read.format("deltaSharing")
.option("timestampAsOf", <version-as-of>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
.limit(10)
Přístup ke sdílenému datovému kanálu změn pomocí Sparku
Pokud s vámi byla sdílena historie tabulek a datový kanál změn (CDF) je povolen na zdrojové tabulce, přistupte k datovému kanálu změn spuštěním následujícího příkazu a nahraďte tyto proměnné. Vyžaduje delta-sharing-spark verzi 0.5.0 nebo vyšší.
Je nutné zadat jeden počáteční parametr.
-
<profile-path>: umístění souboru přihlašovacích údajů. -
<share-name>: hodnotashare=pro tabulku. -
<schema-name>: hodnotaschema=pro tabulku. -
<table-name>: hodnotaname=pro tabulku. -
<starting-version>:volitelný. Počáteční verze dotazu včetně. Určete jako Long. -
<ending-version>:volitelný. Koncová verze dotazu včetně. Pokud koncová verze není k dispozici, rozhraní API použije nejnovější verzi tabulky. -
<starting-timestamp>:volitelný. Počáteční časové razítko dotazu se převede na verzi vytvořenou větší nebo rovnou tomuto časovému razítku. Zadejte jako řetězec ve formátuyyyy-mm-dd hh:mm:ss[.fffffffff]. -
<ending-timestamp>:volitelný. Koncové časové razítko dotazu je převedeno na verzi vytvořenou dříve nebo rovnající se tomuto časovému razítku. Uveďte jako řetězec ve formátuyyyy-mm-dd hh:mm:ss[.fffffffff]
Python
delta_sharing.load_table_changes_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>",
starting_version=<starting-version>,
ending_version=<ending-version>)
delta_sharing.load_table_changes_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>",
starting_timestamp=<starting-timestamp>,
ending_timestamp=<ending-timestamp>)
spark.read.format("deltaSharing").option("readChangeFeed", "true")\
.option("startingVersion", <starting-version>)\
.option("endingVersion", <ending-version>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
spark.read.format("deltaSharing").option("readChangeFeed", "true")\
.option("startingTimestamp", <starting-timestamp>)\
.option("endingTimestamp", <ending-timestamp>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
Scala
spark.read.format("deltaSharing").option("readChangeFeed", "true")
.option("startingVersion", <starting-version>)
.option("endingVersion", <ending-version>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
spark.read.format("deltaSharing").option("readChangeFeed", "true")
.option("startingTimestamp", <starting-timestamp>)
.option("endingTimestamp", <ending-timestamp>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
Pokud je výstup prázdný nebo neobsahuje očekávaná data, obraťte se na poskytovatele dat.
Přístup ke sdílené tabulce pomocí strukturovaného streamování Sparku
Pokud se s vámi sdílí historie tabulek, můžete streamovat čtení sdílených dat. Vyžaduje delta-sharing-spark verzi 0.6.0 nebo vyšší.
Podporované možnosti:
-
ignoreDeletes: Ignorujte transakce, které odstraňují data. -
ignoreChanges: Znovu zpracujte aktualizace, pokud byly soubory přepsány ve zdrojové tabulce z důvodu operace změny dat, jako jeUPDATE,MERGE INTO,DELETE(v rámci oddílů) neboOVERWRITE. Nezměněné řádky je možné přesto emitovat. Proto by podřízení příjemci měli být schopni zpracovat duplicity. Odstranění se nepřenáší dále do systému.ignoreChangeszahrnujeignoreDeletes. Proto pokud použijeteignoreChanges, stream se nenaruší odstraněním nebo aktualizacemi zdrojové tabulky. -
startingVersion: Verze sdílené tabulky, od které se má začít. Všechny změny tabulky od této verze (včetně) jsou čteny streamovacím zdrojem. -
startingTimestamp: Časové razítko, od které se má začít. Všechny změny tabulky potvrzené v daném časovém razítku nebo po něm (včetně) jsou čteny zdrojem streamování. Příklad:"2023-01-01 00:00:00.0". -
maxFilesPerTrigger: Počet nových souborů, které mají být zváženy v každé mikro šarži. -
maxBytesPerTrigger: Množství dat, která se zpracovávají v každé mikrodávce. Tato možnost nastaví "soft max", což znamená, že dávkové procesy zpracovávají přibližně toto množství dat a mohou překročit limit, aby umožnily pokračování streamovacího dotazu, pokud je nejmenší vstupní jednotka větší než tento limit. -
readChangeFeed: Stream čte datový kanál změn sdílené tabulky.
Podporované triggery:
-
Trigger.ProcessingTime: Výchozí aktivační událost, která se používá, když není zadán explicitní trigger. Data se zpracovávají v průběžných mikrodávkách. -
Trigger.AvailableNow: Dotaz na začátku zachytí serverovou verzi sdílené tabulky, zpracuje frontu nevyřízených položek jako několik mikrodávek, které respektují omezení danámaxFilesPerTriggeramaxVersionsPerRpc, a ukončí se, když se zachycená verze vyčerpá. Vyžadujedelta-sharing-sparkverzi 1.4.0 nebo vyšší. Starší verze používají jako náhradní řešení wrapperTrigger.AvailableNow, který nerespektujemaxVersionsPerRpc. -
Trigger.Once:Zastaralé; místo toho použijteTrigger.AvailableNow. Sdelta-sharing-sparkverzemi nižšími než 1.4.0 seTrigger.AvailableNowvrátí zpět do obálky, která nerespektujemaxVersionsPerRpc.
Ukázkové dotazy strukturovaného streamování
Python
spark.readStream.format("deltaSharing")\
.option("startingVersion", 0)\
.option("ignoreDeletes", true)\
.option("maxBytesPerTrigger", 10000)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
Scala
spark.readStream.format("deltaSharing")
.option("startingVersion", 0)
.option("ignoreChanges", true)
.option("maxFilesPerTrigger", 10)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
Viz také koncepty strukturovaného streamování.
Čtení tabulek se zapnutými vektory mazání nebo mapováním sloupců
Important
Tato funkce je ve verzi Public Preview.
Vektory odstranění jsou funkce optimalizace úložiště, kterou může váš poskytovatel povolit u sdílených tabulek Delta. Podívejte se na vektory odstranění v Databricks.
Azure Databricks podporuje také mapování sloupců pro tabulky Delta. Viz Přejmenování a vyřazení sloupců v rámci mapování sloupců Delta Lake.
Pokud váš poskytovatel nasdílel tabulku s povolenými vektory odstranění nebo mapováním sloupců, můžete si tabulku přečíst pomocí výpočetních prostředků, na kterých běží delta-sharing-spark verze 3.1 nebo vyšší. Pokud používáte clustery Databricks, můžete provádět dávkové čtení pomocí clusteru se spuštěným modulem Databricks Runtime 14.1 nebo novějším. Dotazy CDF a streamování vyžadují Databricks Runtime 14.2 nebo vyšší.
Dávkové dotazy můžete provádět bez změn, protože se dají automaticky vyřešit responseFormat na základě vlastností sdílené tabulky.
Pokud chcete číst datový kanál změn (CDF) nebo provádět streamované dotazy na sdílené tabulky s povolenými vektory odstranění nebo mapováním sloupců, musíte nastavit další možnost responseFormat=delta.
Následující příklady ukazují dávkové, CDF a streamovací dotazy:
import org.apache.spark.sql.SparkSession
val spark = SparkSession
.builder()
.appName("...")
.master("...")
.config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension")
.config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog")
.getOrCreate()
val tablePath = "<profile-file-path>#<share-name>.<schema-name>.<table-name>"
// Batch query
spark.read.format("deltaSharing").load(tablePath)
// CDF query
spark.read.format("deltaSharing")
.option("readChangeFeed", "true")
.option("responseFormat", "delta")
.option("startingVersion", 1)
.load(tablePath)
// Streaming query
spark.readStream.format("deltaSharing").option("responseFormat", "delta").load(tablePath)
Čtení sloupců pro sledování řádků ve sdílených tabulkách
Pokud poskytovatel dat povolil sledování řádků ve sdílené tabulce, můžete pomocí Scala Sparku zadat dotaz na sloupce metadat sledování řádků. Seznam dostupných sloupců najdete v části Sledování řádků v Azure Databricks.
Musíte nastavit responseFormat možnost na delta.
spark.read.format("deltaSharing")
.option("responseFormat", "delta")
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
.select("_metadata.row_id")
.show()
Note
Pro dotazování sloupců sledování řádků v klientu Sparku je podporován pouze formát delta odpovědi. Konektory pro výpis dat nejsou podporovány.
Pandas: Čtení sdílených dat
Pokud chcete získat přístup ke sdíleným datům ve pandas verzi 0.25.3 nebo novější, postupujte takto.
Tyto pokyny předpokládají, že máte přístup k souboru přihlašovacích údajů, který sdílel poskytovatel dat. Viz Získání přístupu v modelu sdílení Databricks-to-Open.
Note
Pokud používáte pandas v pracovním prostoru Azure Databricks, který má povolený Unity Catalog, a použili jste uživatelské rozhraní poskytovatele importu k importu poskytovatele a sdílení, pokyny v této části se na vás nevztahují. Ke sdíleným tabulkám můžete přistupovat stejně jako k jakékoli jiné tabulce, která je zaregistrovaná v katalogu Unity. Není nutné instalovat konektor delta-sharing Python nebo zadat cestu k souboru přihlašovacích údajů. Viz Importujte poskytovatele a čtěte sdílená data v Azure Databricks.
Instalace konektoru OpenSharing Python
Pokud chcete získat přístup k metadatům souvisejícím se sdílenými daty, jako je seznam tabulek, které s vámi někdo sdílí, musíte nainstalovat konektor delta-sharing Python connector. Informace o omezeních konektorů Python najdete v tématu Omezení konektoru OpenSharing Python.
pip install delta-sharing
Výpis sdílených tabulek pomocí pandas
Pokud chcete zobrazit seznam tabulek ve sdílené složce, spusťte následující příkaz a nahraďte <profile-path>/config.share umístěním souboru přihlašovacích údajů.
import delta_sharing
client = delta_sharing.SharingClient(f"<profile-path>/config.share")
client.list_all_tables()
Pokud je výstup prázdný nebo neobsahuje očekávané tabulky, obraťte se na poskytovatele dat.
Přístup ke sdíleným datům pomocí pandas
Pokud chcete přistupovat ke sdíleným datům v pandas pomocí Python, spusťte následující příkaz a nahraďte proměnné následujícím způsobem:
-
<profile-path>: umístění souboru přihlašovacích údajů. -
<share-name>: hodnotashare=pro tabulku. -
<schema-name>: hodnotaschema=pro tabulku. -
<table-name>: hodnotaname=pro tabulku.
import delta_sharing
delta_sharing.load_as_pandas(f"<profile-path>#<share-name>.<schema-name>.<table-name>")
Přístup ke sdílenému datovému kanálu změn pomocí pandas
Pokud chcete získat přístup ke kanálu změn dat pro sdílenou tabulku v pandas Pythonu, spusťte následující příkaz a nahraďte proměnné následujícím způsobem. Datový kanál změn nemusí být k dispozici v závislosti na tom, jestli poskytovatel dat sdílel datový kanál změn pro tabulku nebo ne.
-
<starting-version>:volitelný. Počáteční verze dotazu včetně. -
<ending-version>:volitelný. Koncová verze dotazu včetně. -
<starting-timestamp>:volitelný. Počáteční časové razítko dotazu. Převádí se na verzi vytvořenou ve stejný nebo větší čas než toto časové razítko. -
<ending-timestamp>:volitelný. Koncový čas dotazu. Tato hodnota se převede na verzi vytvořenou dříve nebo rovna tomuto časovému razítku.
import delta_sharing
delta_sharing.load_table_changes_as_pandas(
f"<profile-path>#<share-name>.<schema-name>.<table-name>",
starting_version=<starting-version>,
ending_version=<ending-version>)
delta_sharing.load_table_changes_as_pandas(
f"<profile-path>#<share-name>.<schema-name>.<table-name>",
starting_timestamp=<starting-timestamp>,
ending_timestamp=<ending-timestamp>)
Pokud je výstup prázdný nebo neobsahuje očekávaná data, obraťte se na poskytovatele dat.
Power BI: Čtení sdílených dat
Konektor Power BI OpenSharing umožňuje zjišťovat, analyzovat a vizualizovat datové sady sdílené prostřednictvím otevřeného protokolu OpenSharing.
Requirements
- Power BI Desktop 2.99.621.0 nebo novější.
- Přístup k souboru přihlašovacích údajů, který sdílel poskytovatel dat. Viz Získání přístupu v modelu sdílení Databricks-to-Open.
Připojení k Databricks
Pokud se chcete připojit k Azure Databricks pomocí konektoru OpenSharing, postupujte takto:
- Otevřete sdílený soubor přihlašovacích údajů pomocí textového editoru, abyste získali adresu URL koncového bodu a token.
- Otevřete Power BI Desktop.
- V nabídce Získat data vyhledejte OpenSharing.
- Vyberte konektor a klikněte na Připojit.
- Zadejte adresu URL koncového bodu, kterou jste zkopírovali ze souboru s přihlašovacími údaji, do pole Adresa URL serveru OpenSharing .
- Volitelně můžete na kartě Upřesnit možnosti nastavit limit řádků pro maximální počet řádků, které si můžete stáhnout. Ve výchozím nastavení je tato hodnota nastavená na 1 milion řádků.
- Klikněte na OK.
- V případě ověřování zkopírujte token, který jste získali ze souboru s přihlašovacími údaji, do nosné tokeny.
- Klepněte na tlačítko Připojit.
Omezení konektoru Power BI OpenSharing
Konektor Power BI OpenSharing má následující omezení:
- Data, která konektor načte, se musí vejít do paměti vašeho počítače. Pokud chcete tento požadavek spravovat, omezí konektor počet importovaných řádků na limit řádků, který jste nastavili na kartě Upřesnit možnosti v Power BI Desktopu.
Tableau: Čtení sdílených dat
Konektor Tableau OpenSharing umožňuje zjišťovat, analyzovat a vizualizovat datové sady, které s vámi někdo sdílí prostřednictvím otevřeného protokolu OpenSharing.
Requirements
- Tableau Desktop a Tableau Server 2024.1 nebo novější
- Přístup k souboru přihlašovacích údajů, který sdílel poskytovatel dat. Viz Získání přístupu v modelu sdílení Databricks-to-Open.
Připojení k Azure Databricks
Pokud se chcete připojit k Azure Databricks pomocí konektoru OpenSharing, postupujte takto:
- Přejděte na Tableau Exchange, podle pokynů stáhněte konektor OpenSharing a vložte ho do příslušné složky plochy.
- Otevřete Tableau Desktop.
- Na stránce Konektory vyhledejte "OpenSharing by Databricks".
- Vyberte Nahrát soubor sdílené složky a zvolte soubor přihlašovacích údajů, který sdílel poskytovatel.
- Klikněte na Získat data.
- V Průzkumníku dat vyberte tabulku.
- Volitelně můžete přidat filtry SQL nebo limity řádků.
- Klikněte na Získat data tabulky.
omezení
Konektor Tableau OpenSharing má následující omezení:
- Data, která konektor načte, se musí vejít do paměti vašeho počítače. Pokud chcete tento požadavek spravovat, omezí konektor počet importovaných řádků na limit řádků, který jste nastavili v Tableau.
- Všechny sloupce jsou vráceny jako typ
String. - Filtr SQL funguje jenom v případě, že váš server OpenSharing podporuje predikateHint.
- Vektory odstranění nejsou podporovány.
- Mapování sloupců není podporováno.
Omezení konektoru OpenSharing Python
Tato omezení platí pro konektor OpenSharing Python:
- Konektor OpenSharing Python 1.1.0+ podporuje dotazy na snímky tabulek s mapováním sloupců, ale dotazy CDF na tabulky s mapováním sloupců se nepodporují.
- Konektor OpenSharing pro Python způsobuje selhání dotazů CDF pomocí
use_delta_format=True, pokud se schéma v průběhu dotazovaného rozsahu verzí změnilo.
Omezení streamovacích tabulek
Můžete číst pouze aktuální snímek sdílené streamovací tabulky. U streamovaných tabulek ve sdílení Databricks-to-Open se nepodporují následující funkce:
- Dotazování na historická data tabulky
- Dotazování na změnový datový zdroj tabulky (CDF)
- Použití tabulky jako zdroje pro strukturované streamování Sparku
Omezení materializovaného zobrazení
Aktuální snímek sdíleného materializovaného zobrazení je možné pouze číst. Použití materializovaného zobrazení jako zdroje strukturovaného streamování Sparku není ve sdílení Databricks-to-Open podporováno.
Žádost o nové přihlašovací údaje
Pokud dojde ke ztrátě, poškození, ohrožení vašich přihlašovacích údajů nebo pokud vyprší jejich platnost, aniž by vám poskytovatel zaslal nové, obraťte se na svého poskytovatele a požádejte o nové přihlašovací údaje.
Pokud jste příjemcem Azure Databricks, který do katalogu Unity naimportoval přihlašovací údaje jako objekt zprostředkovatele, použijte nové přihlašovací údaje pomocí rozhraní DATAbricks REST API. Viz Obměna přihlašovacích údajů pro otevřené příjemce.