Databricks-tabellen openen vanuit Delta-clients

Op deze pagina wordt beschreven hoe u de Unity REST API gebruikt om beheerde en externe tabellen van externe Delta-clients te maken, lezen en schrijven naar Unity Catalog. Zie Unity Catalog-integraties voor een volledige lijst met ondersteunde integraties.

Tip

Zie Microsoft Fabric met Azure Databricks voor informatie over het lezen van Azure Databricks gegevens met behulp van Microsoft Fabric.

Maken, lezen en schrijven met behulp van de Unity REST API

Belangrijk

Het maken en schrijven naar beheerde tabellen van Unity Catalog van Delta-clients bevindt zich in de bètaversie.

De Unity REST API biedt externe clients toegang tot tabellen die zijn geregistreerd bij Unity Catalog, maken, lezen en schrijven. Configureer de toegang met behulp van de werkruimte-URL als eindpunt. De volgende tabeltypen zijn toegankelijk:

Tabeltype Lezen Write Maak
Beheerde Delta Ja Ja* Ja*
Externe delta Ja Ja Ja

* Ondersteund voor beheerde Delta-tabellen met cataloguscommits.

Requirements

Azure Databricks ondersteunt Unity REST API-toegang tot tabellen als onderdeel van Unity Catalog. U moet Unity Catalog in uw werkruimte hebben ingeschakeld om deze eindpunten te kunnen gebruiken.

U moet ook de volgende configuratiestappen uitvoeren om de toegang tot tabellen van Delta-clients te configureren met behulp van de Unity REST API:

Beperkingen

  • Externe toegang tot UniForm-tabellen met IcebergCompatV3 wordt momenteel niet ondersteund. Nadat u extern naar een UniForm-tabel hebt geschreven, moet u MSCK REPAIR TABLE in Databricks uitvoeren om Iceberg-metagegevens te genereren.
  • Schemawijzigingen (bijvoorbeeld ALTER TABLE), updates van tabeleigenschappen en wijzigingen in tabelfuncties worden momenteel niet ondersteund voor beheerde tabellen van externe clients.
  • Externe clients kunnen geen tabelonderhoudsbewerkingen uitvoeren, zoals OPTIMIZE, VACUUMen ANALYZE, op beheerde Delta-tabellen.
  • Externe clients kunnen geen ondiepe klonen maken.
  • Externe clients kunnen geen tabellen maken met gegenereerde kolommen, standaardkolommen of beperkte kolommen.
  • Wanneer u externe tabellen maakt, wordt Azure Databricks aangeraden Apache Spark te gebruiken om ervoor te zorgen dat kolomdefinities een indeling hebben die compatibel is met Apache Spark. De API valideert niet de juistheid van de kolomspecificatie. Als de specificatie niet compatibel is met Apache Spark, kan Databricks Runtime de tabellen mogelijk niet lezen.

Toegang tot Delta-tabellen met Apache Spark met behulp van PAT-verificatie

PAT-verificatie voor externe Spark-clients vereist:

  • Unity Catalog Spark-clientversie 0.4.1 of hoger (io.unitycatalog:unitycatalog-spark)
  • Apache Spark 4.0 of hoger
  • Delta Spark 4.2.0 of hoger
  • Een persoonlijk toegangstoken voor de principal die toegang heeft tot Unity Catalog. Zie Autoriseer toegang tot Azure Databricks-resources.

De volgende configuratie is vereist voor het lezen of schrijven naar beheerde en externe Delta-tabellen van Unity Catalog met Apache Spark met behulp van PAT-verificatie:

"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>",
"spark.sql.catalog.<uc-catalog-name>.token": "<token>",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_4.1_2.13:4.2.0,io.unitycatalog:unitycatalog-spark_2.13:0.4.1,org.apache.hadoop:hadoop-azure:3.4.2"

Vervang de volgende variabelen:

  • <uc-catalog-name>: de naam van de catalogus in Unity Catalog die uw tabellen bevat.
  • <token>: Persoonlijk toegangstoken (PAT) voor de principal die de integratie configureert.
  • <workspace-url>: de url van de Azure Databricks werkruimte, inclusief de werkruimte-id. Bijvoorbeeld: adb-1234567890123456.12.azuredatabricks.net.

Opmerking

De hierboven weergegeven pakketversies zijn actueel vanaf de laatste update van deze pagina. Nieuwere versies zijn mogelijk beschikbaar. Controleer of pakketversies compatibel zijn met uw Spark-versie.

Zie de DOCUMENTATIE van Unity Catalog OSS voor meer informatie over het configureren van Apache Spark voor cloudobjectopslag.

Belangrijk

Databricks Runtime 16.4 en hoger is vereist voor het lezen van, schrijven naar of maken van tabellen waarvoor catalogusdoorvoeringen zijn ingeschakeld. Databricks Runtime 18.0 en hoger is vereist voor het in- of uitschakelen van cataloguscommits voor bestaande tabellen.

Gebruik de volgende SQL om beheerde Delta-tabellen te maken met catalogusdoorvoeringen:

CREATE TABLE <uc-catalog-name>.<schema-name>.<table-name> (id INT, desc STRING)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported') USING delta;

Gebruik de volgende SQL om externe Delta-tabellen te maken:

CREATE TABLE <uc-catalog-name>.<schema-name>.<table-name> (id INT, desc STRING)
USING delta
LOCATION <path>;

Toegang tot Delta-tabellen met Apache Spark met behulp van OAuth-verificatie

Azure Databricks ondersteunt ook verificatie van OAuth-machine-naar-machine (M2M). OAuth verwerkt automatisch het vernieuwen van tokens en referenties voor Unity Catalog-verificatie.

OAuth-verificatie voor externe Spark-clients vereist:

De volgende configuratie is vereist voor het maken, lezen of schrijven van beheerde tabellen in Unity Catalog en externe Delta-tabellen met Apache Spark met behulp van OAuth-verificatie:

"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>",
"spark.sql.catalog.<uc-catalog-name>.auth.type": "oauth",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.uri": "<oauth-token-endpoint>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientId": "<oauth-client-id>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientSecret": "<oauth-client-secret>",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_4.1_2.13:4.2.0,io.unitycatalog:unitycatalog-spark_2.13:0.4.1,org.apache.hadoop:hadoop-azure:3.4.2"

Vervang de volgende variabelen:

  • <workspace-url>: de url van de Azure Databricks werkruimte, inclusief de werkruimte-id. Bijvoorbeeld: adb-1234567890123456.12.azuredatabricks.net.

Opmerking

De hierboven weergegeven pakketversies zijn actueel vanaf de laatste update van deze pagina. Nieuwere versies zijn mogelijk beschikbaar. Controleer of pakketversies compatibel zijn met uw Spark-versie.