Leia tabelas compartilhadas Delta Sharing usando Apache Spark DataFrames

Este artigo fornece exemplos de sintaxe de uso do Apache Spark para query dados compartilhados usando Delta Sharing. Use a palavra-chave deltasharing como opção de formato para operações do DataFrame.

Outras opções para consultar dados compartilhados

Você também pode criar query que usam nomes de tabelas compartilhadas em catálogos Delta Sharing registrados no metastore, como nos exemplos a seguir:

SELECT * FROM shared_table_name
spark.read.table("shared_table_name")

Para obter mais informações sobre como configurar Delta Sharing no Databricks e consultar nomes de tabelas compartilhadas de uso de dados, consulte Ler dados compartilhados usando Delta Sharing Databricks-to-Databricks (para destinatários).

É possível usar a transmissão estruturada para processar registros em tabelas compartilhadas de forma incremental. Para usar a transmissão estruturada, o senhor deve ativar o compartilhamento de história para a tabela. Consulte ALTER SHARE. história compartilhamento requer Databricks Runtime 12.2 LTS ou superior.

Se a tabela compartilhada tiver change data feed habilitado na tabela Delta de origem e história habilitada no compartilhamento, você poderá usar change data feed durante a leitura de um compartilhamento Delta com operações de transmissão estruturada ou lotes. Consulte Usar o feed de dados alterados do Delta Lake no Databricks.

Leia com a palavra-chave do formato Delta Sharing

A palavra-chave deltasharing é compatível com operações de leitura do Apache Spark DataFrame, conforme mostrado no exemplo a seguir:

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

Leia o feed de dados alterados para tabelas compartilhadas Delta Sharing

Para tabelas que têm o histórico compartilhado e o feed de dados de alterações ativado, o senhor pode ler os registros do feed de dados de alterações usando Apache Spark DataFrames. história compartilhamento requer Databricks Runtime 12.2 LTS ou superior.

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

Ler tabelas compartilhadas Delta Sharing usando transmissão estruturada

Para tabelas com histórico compartilhado, o senhor pode usar a tabela compartilhada como fonte para a transmissão estruturada. história compartilhamento requer Databricks Runtime 12.2 LTS ou superior.

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