Delen via


Gedeelde tabellen van Delta Sharing lezen met Apache Spark DataFrames

Dit artikel bevat syntaxisvoorbeelden van het gebruik van Apache Spark om query's uit te voeren op gegevens die worden gedeeld met Delta Sharing. Gebruik het deltasharing trefwoord als een indelingsoptie voor DataFrame-bewerkingen.

Andere opties voor het uitvoeren van query's op gedeelde gegevens

U kunt ook query's maken die gebruikmaken van gedeelde tabelnamen in Delta Sharing-catalogi die zijn geregistreerd in de metastore, zoals die in de volgende voorbeelden:

SQL

SELECT * FROM shared_table_name

Python

spark.read.table("shared_table_name")

Zie Gegevens lezen die zijn gedeeld met Databricks-naar-Databricks Delta Sharing (voor ontvangers) voor meer informatie over het configureren van Delta-delen in Azure Databricks en het opvragen van gegevens met behulp van gedeelde tabelnamen.

U kunt Structured Streaming gebruiken om records in gedeelde tabellen incrementeel te verwerken. Als u Structured Streaming wilt gebruiken, moet u het delen van geschiedenis voor de tabel inschakelen. Zie ALTER SHARE. Voor het delen van geschiedenis is Databricks Runtime 12.2 LTS of hoger vereist.

Als de gedeelde tabel wijzigingsgegevensfeed heeft ingeschakeld voor de delta-brontabel en de geschiedenis die is ingeschakeld voor de share, kunt u de gegevensfeed wijzigen tijdens het lezen van een Delta-share met Structured Streaming- of batchbewerkingen. Zie Delta Lake-wijzigingsgegevensfeed gebruiken in Azure Databricks.

Lezen met het trefwoord Delta Sharing-indeling

Het deltasharing trefwoord wordt ondersteund voor leesbewerkingen van Apache Spark DataFrame, zoals wordt weergegeven in het volgende voorbeeld:

df = (spark.read
  .format("deltasharing")
  .load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)

Wijzigingsgegevensfeed lezen voor gedeelde deltatabellen

Voor tabellen waarvoor de geschiedenis is gedeeld en de gegevensfeed is ingeschakeld, kunt u wijzigingenfeedrecords lezen met behulp van Apache Spark DataFrames. Voor het delen van geschiedenis is Databricks Runtime 12.2 LTS of hoger vereist.

df = (spark.read
  .format("deltasharing")
  .option("readChangeFeed", "true")
  .option("startingTimestamp", "2021-04-21 05:45:46")
  .option("endingTimestamp", "2021-05-21 12:00:00")
  .load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)

Gedeelde Delta-tabellen lezen met structured streaming

Voor tabellen die de geschiedenis hebben gedeeld, kunt u de gedeelde tabel gebruiken als bron voor Gestructureerd streamen. Voor het delen van geschiedenis is Databricks Runtime 12.2 LTS of hoger vereist.

streaming_df = (spark.readStream
  .format("deltasharing")
  .load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)

# If CDF is enabled on the source table
streaming_cdf_df = (spark.readStream
  .format("deltasharing")
  .option("readChangeFeed", "true")
  .option("startingTimestamp", "2021-04-21 05:45:46")
  .load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)