Läsa data som delas via bearer-token

Den här sidan beskriver hur du läser data som delas med dig med öppna delningsprotokollet OpenSharing med ägartoken. Den innehåller instruktioner för att läsa delade data med hjälp av följande verktyg:

I den här delningsmodellen använder du en autentiseringsfil som delas med en medlem i ditt team av dataleverantören för att få säker läsåtkomst till delade data. Åtkomsten bevaras så länge autentiseringsuppgiften är giltig och providern fortsätter att dela data. Leverantörer hanterar förfallodatum och rotation av autentiseringsuppgifter. Uppdateringar av data är tillgängliga nästan i realtid. Du kan läsa och göra kopior av delade data, men du kan inte ändra källdata.

Note

Om data har delats med dig med Databricks-till-Databricks OpenSharing behöver du ingen autentiseringsfil för att komma åt data och den här sidan gäller inte för dig. I stället, se Läs data som delas via Databricks-till-Databricks OpenSharing (för mottagare).

I följande avsnitt beskrivs hur du använder Apache Spark-, pandasPower BI- och Iceberg-klienter för att komma åt och läsa delade data med hjälp av autentiseringsfilen. En fullständig lista över OpenSharing-anslutningsappar och information om hur du använder dem finns i dokumentationen om OpenSharing open-source. Om du får problem med att komma åt delade data kontaktar du dataleverantören.

Innan du börjar

En medlem i ditt team måste ladda ned filen med autentiseringsuppgifter som delas av dataleverantören och använda en säker kanal för att dela filen eller filplatsen med dig. Se Hämta åtkomst i delningsmodellen Databricks-to-Open.

Mer information om anslutningsspecifik dokumentation finns på sidan för att ladda ned autentiseringsuppgifter.

Isbergsklienter: Läsa delade data

Använd externa Iceberg-klienter, till exempel Snowflake, Trino, Flink och Spark, för att läsa delade datatillgångar med nollkopieringsåtkomst med apache Iceberg REST Catalog API.

Hämta autentiseringsuppgifter för anslutning

Innan du får åtkomst till delade datatillgångar med externa Iceberg-klienter samlar du in följande autentiseringsuppgifter:

  • Slutpunkten för Isbergs REST-katalog
  • En giltig bärartoken
  • Delningsnamnet
  • (Valfritt) Namnområdet eller schemanamnet
  • (Valfritt) Tabellnamnet

Isbergs REST-katalogslutpunkten (icebergEndpoint) och ägartoken finns i den autentiseringsfil som delas med dig av dataleverantören. Mer information finns i Innan du börjar. Resursnamnet, namnområdet och tabellnamnet kan identifieras programmatiskt med hjälp av OpenSharing-API:er.

Important

icebergEndpoint Finns i autentiseringsfilen och har formatet <workspace-url>/api/2.0/delta-sharing/metastores/<metastore-id>/iceberg.

I följande exempel visas hur du hämtar ytterligare autentiseringsuppgifter. Ange slutpunkten, Iceberg-slutpunkten och ägartoken från autentiseringsfilen där det behövs:

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

Den här metoden hämtar alltid den mest up-to-date-listan över tillgångar. Det kräver dock internetåtkomst och kan vara svårare att integrera i miljöer utan kod.

Konfigurera Isbergskatalog

När du har hämtat de nödvändiga autentiseringsuppgifterna för anslutningen konfigurerar du klienten så att den använder isbergs-REST-katalogslutpunkterna för att skapa och fråga tabeller.

  1. Skapa en katalogintegrering för varje delning.

    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;
    
  2. Du kan också lägga till REFRESH_INTERVAL_SECONDS för att hålla metadata uppdaterade. Ange värdet baserat på katalogens uppdateringsfrekvens.

    REFRESH_INTERVAL_SECONDS = 30
    
  3. När katalogen har konfigurerats skapar du en databas från katalogen. Detta skapar automatiskt alla scheman och tabeller i katalogen.

    CREATE DATABASE <DATABASE_PLACEHOLDER>
    LINKED_CATALOG = (
       CATALOG = <CATALOG_PLACEHOLDER>
    );
    
  4. Kontrollera att delning lyckades genom att fråga från en tabell i databasen. Du bör se delade data från Azure Databricks.

Om resultatet är tomt eller om ett fel inträffar följer du de här vanliga felsökningsstegen:

  • Dubbelkolla behörigheter, status för generering av ögonblicksbilder och REST-autentiseringsuppgifter.
  • Kontakta dataleverantören.
  • Se dokumentationen som är specifik för din Iceberg-klient.

Exempel: Få åtkomst till delade tabeller med olika Iceberg-klienter

Följande exempel visar hur du får åtkomst till öppna delade tabeller med hjälp av externa Iceberg-klienter, till exempel Snowflake, Apache Spark, PyIceberg och REST API, när du har hämtat dina autentiseringsuppgifter för anslutningen. Mer information om hur du hämtar autentiseringsuppgifter för anslutningar finns i Innan du börjar.

Snowflake

Om du vill läsa delade datatillgångar i Snowflake laddar du upp filen med autentiseringsuppgifter som du laddade ned och genererar det nödvändiga SQL-kommandot:

  1. Klicka på Snowflake-ikonen från aktiveringslänken för OpenSharing.

  2. På sidan Snowflake-integrering laddar du upp filen med autentiseringsuppgifter som du fick från dataprovidern.

    Ladda upp autentiseringsuppgiftsfil i Snowflake

  3. När du har läst in autentiseringsuppgifterna väljer du den resurs som du vill komma åt i Snowflake.

  4. Klicka på Generera SQL när du har valt önskade tillgångar.

    Generera SQL-kommando för Snowflake

  5. Kopiera och klistra in den genererade SQL-filen i snowflake-kalkylbladet. Ersätt CATALOG_PLACEHOLDER med namnet på den katalog som du vill använda och DATABASE_PLACEHOLDER med namnet på den databas som du vill använda.

Begränsningar

Anslutning till Iceberg REST-katalogen i Snowflake har följande begränsningar:

  • Metadatafilen uppdateras inte automatiskt med den senaste ögonblicksbilden. Du måste förlita dig på automatisk uppdatering eller manuella uppdateringar.
  • R2 stöds inte.
  • Alla begränsningar för Iceberg-klienten gäller.

Apache Spark

Om du vill komma åt delade tabeller med Apache Spark konfigurerar du API:et för Isbergs REST-katalog med följande inställningar. Ersätt <spark-catalog-name> med ett namn på katalogen och ange dina autentiseringsuppgifter för anslutningen:

"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 är en Python-implementering för åtkomst till Iceberg-tabeller utan att använda en JVM. PyIceberg kräver pyarrow tabellåtgärder som att läsa data och inspektera tabellmetadata. Installera PyIceberg med pyarrow extra komponenter:

pip install "pyiceberg[pyarrow]"

Om du vill komma åt delade tabeller lägger du till följande katalogkonfiguration i PyIceberg-konfigurationsfilen:

catalog:
  delta_sharing:
    type: rest
    uri: <icebergEndpoint>
    warehouse: <share_name>
    token: <bearerToken>

REST-API

Använd ett REST API-anrop som i följande curl exempel för att läsa in en tabell och hämta dess metadata tillsammans med tillfälliga autentiseringsuppgifter för åtkomst till datafilerna:

curl -X GET -H "Authorization: Bearer <bearerToken>" -H "Accept: application/json" \
<icebergEndpoint>/v1/shares/<share_name>/namespaces/<schema_name>/tables/<table_name>

Svaret innehåller metadata för Iceberg-tabellen, S3-platsen och tillfälliga AWS-autentiseringsuppgifter som gör att klienten kan läsa datafilerna:

{
  "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>"
  }
}

Begränsningar för Iceberg-klient

Följande begränsningar gäller vid frågor mot OpenSharing-data från Iceberg-klienter:

  • Om namnområdet innehåller fler än 100 delade vyer när du listar tabeller i ett namnområde begränsas svaret till de första 100 vyerna.

Apache Spark: Läsa delade data

Följ dessa steg för att komma åt delade data med Spark 3.x eller senare.

Dessa instruktioner förutsätter att du har åtkomst till autentiseringsfilen som delades av dataprovidern. Se Hämta åtkomst i delningsmodellen Databricks-to-Open.

Important

Kontrollera att din autentiseringsfil är tillgänglig för Apache Spark med hjälp av en absolut sökväg. Sökvägen kan referera till ett molnobjekt eller en Unity Catalog-volym.

Note

Om du använder Spark på en Azure Databricks-arbetsyta som är aktiverad för Unity Catalog och du använde importproviderns användargränssnitt för att importera providern och dela, gäller inte anvisningarna i det här avsnittet för dig. Du kan komma åt delade tabeller precis som andra tabeller som är registrerade i Unity Catalog. Du behöver inte installera delta-sharing Python-anslutningsprogrammet eller ange sökvägen till autentiseringsfilen. Se Importera en provider och läs delade data i Azure Databricks.

Installera Anslutningsapparna OpenSharing Python och Spark

Om du vill komma åt metadata som är relaterade till delade data, till exempel listan över tabeller som delas med dig, gör du följande. I det här exemplet används Python.

  1. Installera delta-sharing Python-anslutning. Mer information om begränsningar för Python-anslutningsprogram finns i Begränsningar för OpenSharing Python-anslutningsprogram.

    pip install delta-sharing
    
  2. Installera Apache Spark-anslutningsappen.

Visa en lista över delade tabeller med Spark

Lista tabellerna i delningen. I följande exempel ersätter du <profile-path> med platsen för autentiseringsfilen.

import delta_sharing

client = delta_sharing.SharingClient(f"<profile-path>/config.share")

client.list_all_tables()

Resultatet är en matris med tabeller, tillsammans med metadata för varje tabell. Följande utdata visar två tabeller:

Out[10]: [Table(name='example_table', share='example_share_0', schema='default'), Table(name='other_example_table', share='example_share_0', schema='default')]

Om utdata är tomma eller inte innehåller de tabeller du förväntar dig kontaktar du dataprovidern.

Få åtkomst till delade data med Spark

Kör följande och ersätt dessa variabler:

  • <profile-path>: platsen för autentiseringsfilen.
  • <share-name>: värdet share= för tabellen.
  • <schema-name>: värdet schema= för tabellen.
  • <table-name>: värdet name= för tabellen.
  • <version-as-of>: valfri. Tabellversionen för inläsning av data. Fungerar bara om dataprovidern delar tabellens historik. Kräver delta-sharing-spark 0.5.0 eller senare versioner.
  • <timestamp-as-of>: valfri. Läs in data från versionen som är före eller vid den angivna tidsstämpeln. Fungerar bara om dataprovidern delar tabellens historik. Kräver delta-sharing-spark 0.6.0 eller högre.

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)

Få åtkomst till dataflöde för delad ändring med Spark

Om tabellhistoriken har delats med dig och ändringsdataflödet (CDF) är aktiverat i källtabellen kan du komma åt ändringsdataflödet genom att köra följande och ersätta dessa variabler. Kräver delta-sharing-spark 0.5.0 eller senare versioner.

En startparameter måste anges.

  • <profile-path>: platsen för autentiseringsfilen.
  • <share-name>: värdet share= för tabellen.
  • <schema-name>: värdet schema= för tabellen.
  • <table-name>: värdet name= för tabellen.
  • <starting-version>: valfri. Startversionen av sökfrågan, inkluderande. Ange som Lång.
  • <ending-version>: valfri. Slutversionen av sökfrågan, inklusive. Om slutversionen inte tillhandahålls använder API:et den senaste tabellversionen.
  • <starting-timestamp>: valfri. Starttidsstämpeln för frågan konverteras till en version skapad vid eller efter den här tidsstämpeln. Ange som en sträng i formatet yyyy-mm-dd hh:mm:ss[.fffffffff].
  • <ending-timestamp>: valfri. Den avslutande tidsstämpeln för frågan konverteras till en version som skapades tidigare eller lika med den här tidsstämpeln. Ange som en sträng i formatet yyyy-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>")

Om utdata är tomma eller inte innehåller de data du förväntar dig kontaktar du dataleverantören.

Få åtkomst till en delad tabell med Spark Structured Streaming

Om tabellhistoriken delas med dig kan du strömma läsning av delade data. Kräver delta-sharing-spark 0.6.0 eller högre.

Alternativ som stöds:

  • ignoreDeletes: Ignorera transaktioner som tar bort data.
  • ignoreChanges: Bearbeta uppdateringar igen om filer skrevs om i källtabellen på grund av en dataförändringsåtgärd som UPDATE, MERGE INTO, DELETE (inom partitioner) eller OVERWRITE. Oförändrade rader kan fortfarande sändas ut. Därför bör nedströmskonsumenterna kunna hantera dubbletter. Raderingar sprids inte nedströms. ignoreChanges inkluderar ignoreDeletes. Om du använder ignoreChangesstörs därför inte dataströmmen av borttagningar eller uppdateringar av källtabellen.
  • startingVersion: Den delade tabellversion som ska startas från. Alla tabelländringar från och med den här versionen (inklusive) läses av strömningskällan.
  • startingTimestamp: Tidsstämpeln som ska startas från. Alla tabelländringar som har committerats vid eller efter tidsstämpeln (inklusive) läses av streamingkällan. Exempel: "2023-01-01 00:00:00.0".
  • maxFilesPerTrigger: Antalet nya filer som ska beaktas i varje mikrobatch.
  • maxBytesPerTrigger: Mängden data som bearbetas i varje mikrobatch. Det här alternativet anger ett "mjukt maxvärde", vilket innebär att en batch bearbetar ungefär den här mängden data och kan bearbeta mer än gränsen för att få strömningsfrågan att gå framåt i de fall då den minsta indataenheten är större än den här gränsen.
  • readChangeFeed: Stream läser ändringsdataflödet för den delade tabellen.

Utlösare som stöds:

  • Trigger.ProcessingTime: Standardutlösaren används när ingen explicit utlösare har angetts. Data bearbetas i kontinuerliga mikrobatcher.
  • Trigger.AvailableNow: Frågan samlar in den delade tabellens serverdelsversion i början, bearbetar kvarvarande uppgifter som flera mikrobatch som respekterar maxFilesPerTrigger och maxVersionsPerRpc, och avslutas när den insamlade versionen är slut. Kräver delta-sharing-spark 1.4.0 eller senare. Äldre versioner faller tillbaka på en Trigger.AvailableNow wrapper som inte tar hänsyn till maxVersionsPerRpc.
  • Trigger.Once: Inaktuell; använd Trigger.AvailableNow i stället. Med delta-sharing-spark versioner under 1.4.0, Trigger.AvailableNow faller tillbaka till en wrapper som inte respekterar maxVersionsPerRpc.

Exempel på strukturerade strömningsfrågor

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>")

Se även Begrepp för strukturerad direktuppspelning.

Läs tabeller med borttagningsvektorer eller kolumnmappning aktiverat

Important

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Borttagningsvektorer är en funktion för lagringsoptimering som leverantören kan aktivera i delade Delta-tabeller. Se Borttagningsvektorer i Databricks.

Azure Databricks stöder även kolumnmappning för Delta-tabeller. Se Byt namn på och ta bort kolumner med kolumnmappning i Delta Lake.

Om providern har delat en tabell med borttagningsvektorer eller kolumnmappning aktiverad kan du läsa tabellen med hjälp av beräkning som kör delta-sharing-spark 3.1 eller senare. Om du använder Databricks-kluster kan du utföra batchläsningar med hjälp av ett kluster som kör Databricks Runtime 14.1 eller senare. CDF- och strömningsfrågor kräver Databricks Runtime 14.2 eller senare.

Du kan utföra batchfrågor som de är, eftersom de automatiskt kan lösas baserat på tabellfunktionerna i den delade tabellen.

Om du vill läsa en cdf (change data feed) eller utföra strömmande frågor på delade tabeller med borttagningsvektorer eller kolumnmappning aktiverat måste du ange det ytterligare alternativet responseFormat=delta.

I följande exempel visas frågor om batch, CDF och strömning:

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)

Läsa kolumner för radspårning i delade tabeller

Om dataleverantören har aktiverat radspårning i en delad tabell kan du köra frågor mot metadatakolumnerna för radspårning med Scala Spark. En lista över tillgängliga kolumner finns i Radspårning i Azure Databricks.

Du måste ange responseFormat alternativet till delta.

spark.read.format("deltaSharing")
  .option("responseFormat", "delta")
  .load("<profile-path>#<share-name>.<schema-name>.<table-name>")
  .select("_metadata.row_id")
  .show()

Note

Endast deltasvarsformatet stöds för att fråga efter radspårningskolumner i Spark-klienten. Dumpkopplingar stöds inte.

Pandas: Läsa delade data

Följ dessa steg för att komma åt delade data i pandas 0.25.3 eller senare.

Dessa instruktioner förutsätter att du har åtkomst till autentiseringsfilen som delades av dataprovidern. Se Hämta åtkomst i delningsmodellen Databricks-to-Open.

Note

Om du använder pandas på en Azure Databricks-arbetsyta som är aktiverad för Unity Catalog och du använde importproviderns användargränssnitt för att importera providern och dela, gäller inte anvisningarna i det här avsnittet för dig. Du kan komma åt delade tabeller precis som andra tabeller som är registrerade i Unity Catalog. Du behöver inte installera delta-sharing Python-anslutningsprogrammet eller ange sökvägen till autentiseringsfilen. Se Importera en provider och läs delade data i Azure Databricks.

Installera OpenSharing Python-anslutningsappen

För att få åtkomst till metadata som rör delade data, till exempel listan över tabeller som delas med dig, måste du installera delta-sharing Python connector. Mer information om begränsningar för Python-anslutningsprogram finns i Begränsningar för OpenSharing Python-anslutningsprogram.

pip install delta-sharing

Lista delade tabeller med hjälp av pandas

Om du vill visa en lista över tabellerna i resursen kör du följande och ersätter <profile-path>/config.share med platsen för autentiseringsfilen.

import delta_sharing

client = delta_sharing.SharingClient(f"<profile-path>/config.share")

client.list_all_tables()

Om utdata är tomma eller inte innehåller de tabeller du förväntar dig kontaktar du dataprovidern.

Få åtkomst till delade data med hjälp av pandas

Om du vill komma åt delade data i pandas med hjälp av Python kör du följande och ersätter variablerna på följande sätt:

  • <profile-path>: platsen för autentiseringsfilen.
  • <share-name>: värdet share= för tabellen.
  • <schema-name>: värdet schema= för tabellen.
  • <table-name>: värdet name= för tabellen.
import delta_sharing
delta_sharing.load_as_pandas(f"<profile-path>#<share-name>.<schema-name>.<table-name>")

Få åtkomst till ett dataflöde för delad ändring med hjälp av pandas

Om du vill komma åt ändringsdataflödet för en delad tabell i pandas med python kör du följande genom att ersätta variablerna på följande sätt. En ändringsdatafeed kanske inte är tillgänglig, beroende på om dataleverantören delade ändringsdataflödet för tabellen eller inte.

  • <starting-version>: valfri. Startversionen av sökfrågan, inkluderande.
  • <ending-version>: valfri. Slutversionen av sökfrågan, inklusive.
  • <starting-timestamp>: valfri. Starttidsstämpeln för frågan. Detta konverteras till en version som skapats större än eller lika med den här tidsstämpeln.
  • <ending-timestamp>: valfri. Den avslutande tidsstämpeln för frågan. Detta konverteras till en version som skapats tidigare eller lika med den här tidsstämpeln.
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>)

Om utdata är tomma eller inte innehåller de data du förväntar dig kontaktar du dataleverantören.

Power BI: Läsa delade data

Med Power BI OpenSharing-anslutningsappen kan du identifiera, analysera och visualisera datauppsättningar som delas med dig via OpenSharing Open Protocol.

Requirements

Ansluta till Databricks

Gör följande för att ansluta till Azure Databricks med hjälp av OpenSharing-anslutningsappen:

  1. Öppna den delade autentiseringsfilen med en textredigerare för att hämta slutpunkts-URL:en och token.
  2. Öppna Power BI Desktop.
  3. På menyn Hämta data söker du efter OpenSharing.
  4. Välj anslutningsappen och klicka på Anslut.
  5. Ange slutpunkts-URL:en som du kopierade från filen med autentiseringsuppgifter till fältet OpenSharing Server-URL .
  6. Du kan också ange en radgräns för det maximala antalet rader som du kan ladda ned på fliken Avancerade alternativ. Detta är inställt på 1 miljon rader som standard.
  7. Klicka på OK.
  8. För autentisering kopierar du den token som du hämtade från autentiseringsuppgifterna till Ägartoken.
  9. Klicka på Anslut.

Begränsningar för Power BI OpenSharing-anslutningsappen

Power BI OpenSharing Connector har följande begränsningar:

  • De data som anslutningsappen läser in måste passa in i datorns minne. För att hantera det här kravet begränsar anslutningsappen antalet importerade rader till den radgräns som du anger under fliken Avancerade alternativ i Power BI Desktop.

Tableau: Läs delad data

Tableau OpenSharing-anslutningen gör att du kan upptäcka, analysera och visualisera datauppsättningar som delas med dig via det öppna protokollet OpenSharing.

Requirements

Anslut till Azure Databricks

Gör följande för att ansluta till Azure Databricks med hjälp av OpenSharing-anslutningsappen:

  1. Gå till Tableau Exchange, följ anvisningarna för att ladda ned OpenSharing Connector och placera den i en lämplig skrivbordsmapp.
  2. Öppna Tableau Desktop.
  3. På sidan Anslutningsappar söker du efter "OpenSharing by Databricks".
  4. Välj Ladda upp resursfil och välj den autentiseringsuppgiftsfil som delades av providern.
  5. Klicka på Hämta data.
  6. I Datautforskaren väljer du tabellen.
  7. Du kan också lägga till SQL-filter eller radgränser.
  8. Klicka på Hämta tabelldata.

Begränsningar

Tableau OpenSharing Connector har följande begränsningar:

  • De data som anslutningsappen läser in måste passa in i datorns minne. För att hantera det här kravet begränsar anslutningsappen antalet importerade rader till den radgräns som du angav i Tableau.
  • Alla kolumner returneras som typ String.
  • SQL Filter fungerar bara om OpenSharing-servern stöder predicateHint.
  • Borttagningsvektorer stöds inte.
  • Kolumnmappning stöds inte.

Begränsningar för OpenSharing Python-anslutningsprogram

Dessa begränsningar är specifika för OpenSharing Python-anslutningsappen:

  • OpenSharing Python connector 1.1.0+ stöder ögonblicksbildsfrågor i tabeller med kolumnmappning, men CDF-frågor på tabeller med kolumnmappning stöds inte.
  • OpenSharing-Python-anslutningsappen misslyckas med CDF-frågor med use_delta_format=True om schemat ändrades under det efterfrågade versionsintervallet.

Begränsningar för strömmande tabeller

Du kan bara läsa den aktuella ögonblicksbilden av en delad strömningstabell. Följande funktioner stöds inte för direktuppspelningstabeller i Databricks-to-Open-delning:

  • Köra frågor mot tabellens historikdata
  • Köra frågor mot tabellens ändringsdataflöde (CDF)
  • Använda tabellen som källa för Spark Structured Streaming

Begränsningar för materialiserad vy

Du kan bara läsa den aktuella ögonblicksbilden av en delad materialiserad vy. Användning av en materialiserad vy som källa för Spark Structured Streaming stöds inte i Databricks-to-Open-delning.

Begära en ny autentiseringsuppgift

Om url:en för aktivering av autentiseringsuppgifter eller nedladdade autentiseringsuppgifter går förlorad, skadas eller komprometteras, eller om autentiseringsuppgifterna upphör att gälla utan att leverantören skickar en ny, kontaktar du leverantören för att begära en ny autentiseringsuppgift.

Om du är en Azure Databricks mottagare som importerade autentiseringsuppgifterna som ett providerobjekt i Unity Catalog använder du de nya autentiseringsuppgifterna med hjälp av Databricks REST API. Se Rotera autentiseringsuppgifter för öppna mottagare.