Gegevens lezen die worden gedeeld via Delta Sharing open delen (voor ontvangers)
In dit artikel wordt beschreven hoe u gegevens leest die met u zijn gedeeld met behulp van het open sharing-protocol van Delta Sharing. Het bevat instructies voor het lezen van gedeelde gegevens met Databricks, Apache Spark, pandas, Power BI en Tableau.
Bij het openen van delen gebruikt u een referentiebestand dat is gedeeld met een lid van uw team door de gegevensprovider om veilige leestoegang te krijgen tot gedeelde gegevens. De toegang blijft behouden zolang de referentie geldig is en de provider de gegevens blijft delen. Providers beheren de vervaldatum en vervanging van inloggegevens. Updates voor de gegevens zijn vrijwel in realtime beschikbaar. U kunt kopieën van de gedeelde gegevens lezen en maken, maar u kunt de brongegevens niet wijzigen.
Notitie
Als gegevens met u zijn gedeeld met databricks-to-Databricks Delta Sharing, hebt u geen referentiebestand nodig om toegang te krijgen tot gegevens. Dit artikel is niet van toepassing op u. Zie Gegevens lezen die worden gedeeld met Databricks-to-Databricks Delta Sharing (voor ontvangers) voor instructies.
In de volgende secties wordt beschreven hoe u Azure Databricks, Apache Spark, pandas en Power BI gebruikt om gedeelde gegevens te openen en te lezen met behulp van het referentiebestand. Zie de opensourcedocumentatie voor Delta Sharing voor een volledige lijst met Connectors voor Delta Sharing en informatie over het gebruik ervan. Als u problemen ondervindt bij het openen van de gedeelde gegevens, neemt u contact op met de gegevensprovider.
Notitie
Partnerintegraties worden, tenzij anders vermeld, geleverd door de derde partijen en u moet een account hebben met de juiste provider voor het gebruik van hun producten en diensten. Hoewel Databricks zijn best doet om deze inhoud up-to-date te houden, geven we geen garantie met betrekking tot deze integraties of de nauwkeurigheid van de inhoud van de partnerintegratiepagina's. Neem contact op met de juiste providers voor alle zaken die te maken hebben met de integraties.
Voordat u begint
Een lid van uw team moet het referentiebestand downloaden dat wordt gedeeld door de gegevensprovider. Zie Toegang krijgen in het open sharing-model.
Ze moeten een beveiligd kanaal gebruiken om dat bestand of de bestandslocatie met u te delen.
Azure Databricks: Gedeelde gegevens lezen met behulp van open connectors voor delen
In deze sectie wordt beschreven hoe u een provider importeert en hoe u een query uitvoert op de gedeelde gegevens in Catalog Explorer of in een Python-notebook:
- Als uw Azure Databricks-werkruimte is ingeschakeld voor Unity Catalog, gebruikt u de gebruikersinterface van de importprovider in Catalog Explorer. Hiermee kunt u catalogi maken op basis van shares met een klik op een knop, toegangsbeheer voor Unity Catalog gebruiken om toegang te verlenen tot gedeelde tabellen en standaard syntaxis van Unity Catalog gebruiken om query's uit te voeren op deze shares, zonder dat u een referentiebestand hoeft op te slaan of op te geven wanneer u een query uitvoert op gedeelde gegevens.
- Als uw Azure Databricks-werkruimte niet is ingeschakeld voor Unity Catalog, gebruikt u de instructies voor Python-notebooks als voorbeeld. In de notitieblokinstructies wordt ook beschreven hoe u een notitieblok gebruikt om gedeelde tabellen weer te geven en te lezen.
Notitie
Als de gegevensprovider Databricks-to-Databricks koppelen gebruikt, hoeven ze geen inloggegevensbestand met u te delen, en zijn de instructies in dit artikel niet op u van toepassing. Zie in plaats daarvan Lees gegevens die worden gedeeld via Databricks-to-Databricks Delta Sharing (voor ontvangers).
Catalogusverkenner
machtigingen zijn vereist: een metastore-beheerder of een gebruiker met zowel de CREATE PROVIDER
als USE PROVIDER
bevoegdheden voor uw Unity Catalog-metastore.
Klik in uw Azure Databricks-werkruimte op
Catalog om Catalog Explorer te openen.
Klik bovenaan het deelvenster Catalogus op het
en selecteer Delta Sharing.
U kunt ook op de pagina Snelle toegang klikken op de knop Delta delen > .
Klik op het tabblad Gedeeld met mij en vervolgens op Importprovider rechtstreeks.
Voer in het dialoogvenster Importprovider de naam van de provider in.
De naam mag geen spaties bevatten.
Upload het referentiebestand dat de provider met u heeft gedeeld.
Veel providers hebben hun eigen Delta Sharing-netwerken waaruit u shares kunt ontvangen. Zie Providerspecifieke configuratiesvoor meer informatie.
(Optioneel) Voer een opmerking in.
Klik op importeren.
Catalogussen maken op basis van de gedeelde gegevens.
Klik op het tabblad Shares op Catalogus maken in de rij Share.
Zie Een catalogus maken op basis van een sharevoor informatie over het gebruik van SQL of de Databricks CLI om een catalogus te maken op basis van een share.
Toegang verlenen tot de catalogi.
Zie Hoe kan ik gedeelde gegevens beschikbaar maken voor mijn team? en Machtigingen beheren voor de schema's, tabellen en volumes in een Delta Sharing-catalogus.
Lees de gedeelde gegevensobjecten op dezelfde manier als elk gegevensobject dat is geregistreerd in Unity Catalog.
Zie Access-gegevens in een gedeelde tabel of een gedeeld volumevoor meer informatie en voorbeelden.
Python
In deze sectie wordt beschreven hoe u een open connector voor delen gebruikt voor toegang tot gedeelde gegevens met behulp van een notebook in uw Azure Databricks-werkruimte. U of een ander lid van uw team slaat het referentiebestand op in Azure Databricks. Vervolgens gebruikt u het om u te verifiëren bij het Azure Databricks-account van de gegevensprovider en de gegevens te lezen die de gegevensprovider met u heeft gedeeld.
Notitie
In deze instructies wordt ervan uitgegaan dat uw Azure Databricks-werkruimte niet is ingeschakeld voor Unity Catalog. Als u Unity Catalog gebruikt, hoeft u niet naar het referentiebestand te verwijzen wanneer u de share leest. U kunt lezen uit gedeelde tabellen, net zoals u dat doet vanuit elke tabel die is geregistreerd in Unity Catalog. Databricks raadt u aan de gebruikersinterface van de importprovider te gebruiken in Catalog Explorer in plaats van de instructies die hier worden gegeven.
Gebruik eerst een Python-notebook in Azure Databricks om het referentiebestand op te slaan, zodat gebruikers in uw team toegang hebben tot gedeelde gegevens.
Open het referentiebestand in een teksteditor.
Klik in uw Azure Databricks-werkruimte op Nieuw > notebook.
- Voer een naam in.
- Stel de standaardtaal voor het notebook in op Python.
- Selecteer een cluster dat u aan het notebook wilt koppelen.
- Klik op Create.
Het notitieblok wordt geopend in de notebook-editor.
Als u Python of pandas wilt gebruiken om toegang te krijgen tot de gedeelde gegevens, installeert u de Python-connector voor deltadeling. Plak de volgende opdracht in de notebook-editor:
%sh pip install delta-sharing
Voer de cel uit.
De
delta-sharing
Python-bibliotheek wordt geïnstalleerd in het cluster als deze nog niet is geïnstalleerd.Plak in een nieuwe cel de volgende opdracht, waarmee de inhoud van het referentiebestand wordt geüpload naar een map in DBFS.
Vervang de variabelen als volgt:
<dbfs-path>
: het pad naar de map waarin u het referentiebestand wilt opslaan<credential-file-contents>
: de inhoud van het referentiebestand. Dit is geen pad naar het bestand, maar de gekopieerde inhoud van het bestand.Het referentiebestand bevat JSON waarmee drie velden worden gedefinieerd:
shareCredentialsVersion
,endpoint
enbearerToken
.%scala dbutils.fs.put("<dbfs-path>/config.share",""" <credential-file-contents> """)
Voer de cel uit.
Nadat het referentiebestand is geüpload, kunt u deze cel verwijderen. Alle werkruimtegebruikers kunnen het referentiebestand lezen uit DBFS en het referentiebestand is beschikbaar in DBFS op alle clusters en SQL-warehouses in uw werkruimte. Als u de cel wilt verwijderen, klikt u op x in het celactiesmenu
helemaal rechts.
Nu het referentiebestand is opgeslagen, kunt u een notitieblok gebruiken om gedeelde tabellen weer te geven en te lezen
Gebruik Python om de tabellen in de share op te sommen.
Plak de volgende opdracht in een nieuwe cel. Vervang
<dbfs-path>
door het pad dat hierboven is gemaakt.Wanneer de code wordt uitgevoerd, leest Python het referentiebestand uit DBFS op het cluster. Toegang tot gegevens die zijn opgeslagen in DBFS op het pad
/dbfs/
.import delta_sharing client = delta_sharing.SharingClient(f"/dbfs/<dbfs-path>/config.share") client.list_all_tables()
Voer de cel uit.
Het resultaat is een matrix met tabellen, samen met metagegevens voor elke tabel. In de volgende uitvoer ziet u twee tabellen:
Out[10]: [Table(name='example_table', share='example_share_0', schema='default'), Table(name='other_example_table', share='example_share_0', schema='default')]
Als de uitvoer leeg is of niet de verwachte tabellen bevat, neemt u contact op met de gegevensprovider.
Een query uitvoeren op een gedeelde tabel.
Scala gebruiken:
Plak de volgende opdracht in een nieuwe cel. Wanneer de code wordt uitgevoerd, wordt het referentiebestand vanuit DBFS gelezen via de JVM.
Vervang de variabelen als volgt:
-
<profile-path>
: het DBFS-pad van het referentiebestand. Bijvoorbeeld:/<dbfs-path>/config.share
. -
<share-name>
: de waarde vanshare=
voor de tabel. -
<schema-name>
: de waarde vanschema=
voor de tabel. -
<table-name>
: de waarde vanname=
, voor de tabel.
%scala spark.read.format("deltaSharing") .load("<profile-path>#<share-name>.<schema-name>.<table-name>").limit(10);
Voer de cel uit. Telkens wanneer u de gedeelde tabel laadt, ziet u nieuwe gegevens uit de bron.
-
SQL gebruiken:
Als u een query wilt uitvoeren op de gegevens met behulp van SQL, maakt u een lokale tabel in de werkruimte op basis van de gedeelde tabel en voert u vervolgens een query uit op de lokale tabel. De gedeelde gegevens worden niet opgeslagen of in de cache geplaatst in de lokale tabel. Telkens wanneer u een query uitvoert op de lokale tabel, ziet u de huidige status van de gedeelde gegevens.
Plak de volgende opdracht in een nieuwe cel.
Vervang de variabelen als volgt:
-
<local-table-name>
: de naam van de lokale tabel. -
<profile-path>
: de locatie van het referentiebestand. -
<share-name>
: de waarde vanshare=
voor de tabel. -
<schema-name>
: de waarde vanschema=
voor de tabel. -
<table-name>
: de waarde vanname=
voor de tabel.
%sql DROP TABLE IF EXISTS table_name; CREATE TABLE <local-table-name> USING deltaSharing LOCATION "<profile-path>#<share-name>.<schema-name>.<table-name>"; SELECT * FROM <local-table-name> LIMIT 10;
Wanneer u de opdracht uitvoert, worden de gedeelde gegevens rechtstreeks opgevraagd. Als test wordt de tabel opgevraagd en worden de eerste 10 resultaten geretourneerd.
-
Als de uitvoer leeg is of niet de verwachte gegevens bevat, neemt u contact op met de gegevensprovider.
Apache Spark: gedeelde gegevens lezen
Volg deze stappen voor toegang tot gedeelde gegevens met spark 3.x of hoger.
In deze instructies wordt ervan uitgegaan dat u toegang hebt tot het referentiebestand dat is gedeeld door de gegevensprovider. Zie Toegang krijgen in het open sharing-model.
Notitie
Als u Spark gebruikt in een Azure Databricks-werkruimte die is ingeschakeld voor Unity Catalog en u de gebruikersinterface van de importprovider hebt gebruikt om de provider te importeren en te delen, zijn de instructies in deze sectie niet van toepassing op u. U hebt net zo toegang tot gedeelde tabellen als elke andere tabel die is geregistreerd in Unity Catalog. U hoeft de delta-sharing
Python-connector niet te installeren of het pad naar het referentiebestand op te geven. Zie Azure Databricks: Gedeelde gegevens lezen met behulp van connectoren voor open sharing.
De Delta Sharing Python- en Spark-connectors installeren
Ga als volgt te werk om toegang te krijgen tot metagegevens met betrekking tot de gedeelde gegevens, zoals de lijst met tabellen die met u zijn gedeeld. In dit voorbeeld wordt Python gebruikt.
Installeer de Python-connector voor deltadeling:
pip install delta-sharing
Installeer de Apache Spark-connector.
Gedeelde tabellen weergeven met Spark
De tabellen in de share weergeven. Vervang in het volgende voorbeeld door <profile-path>
de locatie van het referentiebestand.
import delta_sharing
client = delta_sharing.SharingClient(f"<profile-path>/config.share")
client.list_all_tables()
Het resultaat is een matrix met tabellen, samen met metagegevens voor elke tabel. In de volgende uitvoer ziet u twee tabellen:
Out[10]: [Table(name='example_table', share='example_share_0', schema='default'), Table(name='other_example_table', share='example_share_0', schema='default')]
Als de uitvoer leeg is of niet de verwachte tabellen bevat, neemt u contact op met de gegevensprovider.
Gebruik Spark om gedeelde gegevens te openen
Voer het volgende uit, waarbij u deze variabelen vervangt:
-
<profile-path>
: de locatie van het referentiebestand. -
<share-name>
: de waarde vanshare=
voor de tabel. -
<schema-name>
: de waarde vanschema=
voor de tabel. -
<table-name>
: de waarde vanname=
voor de tabel. -
<version-as-of>
:facultatief. De versie van de tabel waarop de gegevens geladen moeten worden. Werkt alleen als de gegevensprovider de geschiedenis van de tabel deelt. Vereistdelta-sharing-spark
0.5.0 of hoger. -
<timestamp-as-of>
:facultatief. Laad de gegevens in de versie vóór of op de opgegeven tijdstempel. Werkt alleen als de gegevensprovider de geschiedenis van de tabel deelt. Vereistdelta-sharing-spark
0.6.0 of hoger.
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
Voer het volgende uit, waarbij u deze variabelen vervangt:
-
<profile-path>
: de locatie van het referentiebestand. -
<share-name>
: de waarde vanshare=
voor de tabel. -
<schema-name>
: de waarde vanschema=
voor de tabel. -
<table-name>
: de waarde vanname=
voor de tabel. -
<version-as-of>
:facultatief. De versie van de tabel die de gegevens laadt. Werkt alleen als de gegevensprovider de geschiedenis van de tabel deelt. Vereistdelta-sharing-spark
0.5.0 of hoger. -
<timestamp-as-of>
:facultatief. Laad de gegevens in de versie vóór of op de opgegeven tijdstempel. Werkt alleen als de gegevensprovider de geschiedenis van de tabel deelt. Vereistdelta-sharing-spark
0.6.0 of hoger.
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)
Toegang tot gedeelde gegevensfeed voor wijzigingen met Spark
Als de tabelgeschiedenis met u is gedeeld en CDF (Data Feed) is ingeschakeld in de brontabel, kunt u de gegevensfeed wijzigen door het volgende uit te voeren, waarbij u deze variabelen vervangt. Vereist delta-sharing-spark
0.5.0 of hoger.
Er moet slechts één beginparameter worden opgegeven.
-
<profile-path>
: de locatie van het referentiebestand. -
<share-name>
: de waarde vanshare=
voor de tabel. -
<schema-name>
: de waarde vanschema=
voor de tabel. -
<table-name>
: de waarde vanname=
voor de tabel. -
<starting-version>
:facultatief. De startversie van de query, inclusief. Specificeer als een gegevenstype 'Long'. -
<ending-version>
:facultatief. De eindversie van de query, waarbij inbegrepen. Als de eindversie niet is opgegeven, gebruikt de API de nieuwste tabelversie. -
<starting-timestamp>
:facultatief. De begintijdstempel van de query wordt geconverteerd naar een versie die groter of gelijk is aan deze tijdstempel. Opgeven als een tekenreeks in de notatieyyyy-mm-dd hh:mm:ss[.fffffffff]
. -
<ending-timestamp>
:facultatief. Het eindtijdstempel van de query wordt geconverteerd naar een versie die eerder is gemaakt of gelijk is aan deze tijdstempel. Opgeven als een tekenreeks in het formaatyyyy-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("statingVersion", <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("statingVersion", <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>")
Als de uitvoer leeg is of niet de verwachte gegevens bevat, neemt u contact op met de gegevensprovider.
Toegang tot een gedeelde tabel met behulp van Spark Structured Streaming
Als de tabelgeschiedenis met u wordt gedeeld, kunt u de gedeelde gegevens streamen. Vereist delta-sharing-spark
0.6.0 of hoger.
Ondersteunde opties:
-
ignoreDeletes
: Transacties negeren die gegevens verwijderen. -
ignoreChanges
: Updates opnieuw verwerken als bestanden zijn herschreven in de brontabel vanwege een bewerking voor het wijzigen van gegevens, zoalsUPDATE
,MERGE INTO
DELETE
(binnen partities) ofOVERWRITE
. Ongewijzigde rijen kunnen nog steeds worden verzonden. Daarom moeten uw downstreamgebruikers dubbele waarden kunnen verwerken. Verwijderingen worden niet downstream doorgegeven.ignoreChanges
valt onderignoreDeletes
. Als uignoreChanges
gebruikt, wordt uw stream niet onderbroken door verwijderingen of updates aan de brontabel. -
startingVersion
: De versie van de gedeelde tabel waaruit moet worden gestart. Alle tabelwijzigingen vanaf deze versie (inclusief) worden gelezen door de streamingbron. -
startingTimestamp
: vanaf welk tijdstempel gestart moet worden. Alle tabelwijzigingen die zijn doorgevoerd op of na de tijdstempel (inclusief) worden gelezen door de streamingbron. Voorbeeld:"2023-01-01 00:00:00.0"
. -
maxFilesPerTrigger
: Het aantal nieuwe bestanden dat in elke microbatch moet worden overwogen. -
maxBytesPerTrigger
: De hoeveelheid gegevens die in elke microbatch wordt verwerkt. Met deze optie stelt u een 'voorlopig maximum' in, wat betekent dat een batch ongeveer deze hoeveelheid gegevens verwerkt en meer dan de limiet kan verwerken om de streamingquery vooruit te laten gaan in gevallen waarin de kleinste invoereenheid groter is dan deze limiet. -
readChangeFeed
: Stream leest de wijzigingengegevensfeed van de gedeelde tabel.
Niet-ondersteunde opties:
Trigger.availableNow
Voorbeelden van gestructureerde streamingquery's
Scala
spark.readStream.format("deltaSharing")
.option("startingVersion", 0)
.option("ignoreChanges", true)
.option("maxFilesPerTrigger", 10)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
Python
spark.readStream.format("deltaSharing")\
.option("startingVersion", 0)\
.option("ignoreDeletes", true)\
.option("maxBytesPerTrigger", 10000)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
Zie ook Streamen op Azure Databricks.
Tabellen lezen met ingeschakelde verwijderingsvectoren of kolomtoewijzing
Belangrijk
Deze functie is beschikbaar als openbare preview.
Verwijderingsvectoren zijn een functie voor opslagoptimalisatie die uw provider kan inschakelen voor gedeelde Delta-tabellen. Zie Wat zijn verwijderingsvectoren?
Azure Databricks ondersteunt ook kolomtoewijzing voor Delta-tabellen. Zie Kolommen hernoemen en verwijderen met Delta Lake-kolomtoewijzing.
Als uw provider een tabel heeft gedeeld met verwijderingsvectoren of kolomtoewijzing ingeschakeld, kunt u de tabel lezen door gebruik te maken van compute die draait op delta-sharing-spark
versie 3.1 of hoger. Als u Databricks-clusters gebruikt, kunt u batchleesbewerkingen uitvoeren met behulp van een cluster met Databricks Runtime 14.1 of hoger. Voor CDF- en streamingquery's is Databricks Runtime 14.2 of hoger vereist.
U kunt batchquery's uitvoeren zoals ze zijn, omdat ze automatisch responseFormat
kunnen oplossen op basis van de tabelfuncties van de gedeelde tabel.
Als u een CDF (Change Data Feed) wilt lezen of streamingquery's wilt uitvoeren op gedeelde tabellen waarvoor verwijderingsvectoren of kolomtoewijzing zijn ingeschakeld, moet u de extra optie responseFormat=delta
instellen.
In de volgende voorbeelden ziet u batch-, CDF- en streamingquery's:
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)
Pandas: gedeelde gegevens lezen
Volg deze stappen voor toegang tot gedeelde gegevens in pandas 0.25.3 of hoger.
In deze instructies wordt ervan uitgegaan dat u toegang hebt tot het referentiebestand dat is gedeeld door de gegevensprovider. Zie Toegang krijgen in het open sharing-model.
Notitie
Als u pandas gebruikt in een Azure Databricks-werkruimte die is ingeschakeld voor Unity Catalog en u de gebruikersinterface van de importprovider hebt gebruikt om de provider te importeren en te delen, zijn de instructies in deze sectie niet van toepassing op u. U hebt net zo toegang tot gedeelde tabellen als elke andere tabel die is geregistreerd in Unity Catalog. U hoeft de delta-sharing
Python-connector niet te installeren of het pad naar het referentiebestand op te geven. Zie Azure Databricks: Gedeelde gegevens lezen met behulp van connectoren voor open sharing.
De Delta Sharing Python-connector installeren
Als u toegang wilt krijgen tot metagegevens met betrekking tot de gedeelde gegevens, zoals de lijst met tabellen die met u worden gedeeld, moet u de Python-connector voor deltadeling installeren.
pip install delta-sharing
Gedeelde tabellen weergeven met pandas
Als u de tabellen in de share wilt weergeven, voert u het volgende uit, waarbij u de locatie van het referentiebestand vervangt <profile-path>/config.share
.
import delta_sharing
client = delta_sharing.SharingClient(f"<profile-path>/config.share")
client.list_all_tables()
Als de uitvoer leeg is of niet de verwachte tabellen bevat, neemt u contact op met de gegevensprovider.
Gedeelde gegevens openen met pandas
Als u toegang wilt krijgen tot gedeelde gegevens in pandas met behulp van Python, voert u het volgende uit, waarbij u de variabelen als volgt vervangt:
-
<profile-path>
: de locatie van het referentiebestand. -
<share-name>
: de waarde vanshare=
voor de tabel. -
<schema-name>
: de waarde vanschema=
voor de tabel. -
<table-name>
: de waarde vanname=
voor de tabel.
import delta_sharing
delta_sharing.load_as_pandas(f"<profile-path>#<share-name>.<schema-name>.<table-name>")
Toegang tot een gedeelde gegevensfeed voor wijzigingen met behulp van pandas
Als u de wijzigingengegevensfeed voor een gedeelde tabel in Pandas wilt openen met behulp van Python, voert u de volgende opdracht uit, waarbij u de variabelen als volgt vervangt. Mogelijk is er geen wijzigingenfeed beschikbaar, afhankelijk van de vraag of de gegevensprovider de feed voor de tabel heeft gedeeld.
-
<starting-version>
:facultatief. De startversie van de query inbegrepen. -
<ending-version>
:facultatief. De eindversie van de query, inclusief. -
<starting-timestamp>
:facultatief. Het begintijdstempel van de query. Dit wordt geconverteerd naar een versie die groter of gelijk is aan deze tijdstempel. -
<ending-timestamp>
:facultatief. De eindtijdstempel van de query. Dit wordt geconverteerd naar een versie die eerder is gemaakt of gelijk is aan deze tijdstempel.
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=<starting-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>)
Als de uitvoer leeg is of niet de verwachte gegevens bevat, neemt u contact op met de gegevensprovider.
Power BI: Gedeelde gegevens lezen
Met de Power BI Delta Sharing-connector kunt u gegevenssets detecteren, analyseren en visualiseren die met u zijn gedeeld via het open protocol Delta Sharing.
Vereisten
- Power BI Desktop 2.99.621.0 of hoger.
- Toegang tot het referentiebestand dat is gedeeld door de gegevensprovider. Zie Toegang krijgen in het open sharing-model.
Verbinding maken met Databricks
Ga als volgt te werk om verbinding te maken met Azure Databricks met behulp van de Delta Sharing-connector:
- Open het bestand met gedeelde referenties met een teksteditor om de eindpunt-URL en het token op te halen.
- Open Power BI Desktop.
- Zoek in het menu Gegevens ophalen naar Delta Sharing.
- Selecteer de connector en klik op Verbinding maken.
- Voer de eindpunt-URL in die u hebt gekopieerd uit het referentiebestand in het veld URL van de Delta Sharing Server.
- U kunt desgewenst op het tabblad Geavanceerde opties een rijlimiet instellen voor het maximum aantal rijen dat u kunt downloaden. Dit is standaard ingesteld op 1 miljoen rijen.
- Klik op OK.
- Kopieer voor verificatie het token dat u hebt opgehaald uit het referentiebestand naar het Bearer-token.
- Klik op Verbinding maken.
Beperkingen van de Power BI Delta Sharing-connector
De Power BI Delta Sharing Connector heeft de volgende beperkingen:
- De gegevens die door de connector worden geladen, moeten in het geheugen van uw computer passen. Om deze vereiste te beheren, beperkt de connector het aantal geïmporteerde rijen tot de rijlimiet die u hebt ingesteld op het tabblad Geavanceerde opties in Power BI Desktop.
Tableau: Gedeelde gegevens lezen
Met de Tableau Delta Sharing-connector kunt u gegevenssets detecteren, analyseren en visualiseren die met u worden gedeeld via het open protocol Delta Sharing.
Vereisten
- Tableau Desktop en Tableau Server 2024.1 of hoger
- Toegang tot het referentiebestand dat is gedeeld door de gegevensprovider. Zie Toegang krijgen in het open sharing-model.
Verbinding maken met Azure Databricks
Ga als volgt te werk om verbinding te maken met Azure Databricks met behulp van de Delta Sharing-connector:
- Ga naar Tableau Exchange, volg de instructies om de Delta Sharing Connector te downloaden en in een geschikte bureaubladmap te plaatsen.
- Open Tableau Desktop.
- Zoek op de pagina Connectors naar Delta Sharing by Databricks.
- Selecteer Upload Share-bestand en kies het referentiebestand dat door de provider is gedeeld.
- Klik op Gegevens ophalen.
- Selecteer de tabel in Data Explorer.
- Voeg desgewenst SQL-filters of rijlimieten toe.
- Klik op Tabelgegevens ophalen.
Beperkingen van de connector voor het delen van Delta Sharing in Tableau
De Tableau Delta Sharing Connector heeft de volgende beperkingen:
- De gegevens die door de connector worden geladen, moeten in het geheugen van uw computer passen. Om deze vereiste te beheren, beperkt de connector het aantal geïmporteerde rijen tot de rijlimiet die u in Tableau hebt ingesteld.
- Alle kolommen worden geretourneerd als type
String
. - SQL-filter werkt alleen als uw Delta Sharing-server predicateHint ondersteunt.
Een nieuwe referentie aanvragen
Als uw referentieactiverings-URL of gedownloade referenties verloren gaan, beschadigd of aangetast zijn of als uw referenties verlopen zonder dat uw provider u een nieuwe referentie stuurt, neemt u contact op met uw provider om een nieuwe referentie aan te vragen.