Leia tabelas compartilhadas do Compartilhamento do Delta usando dataframes Apache Spark
Este artigo fornece exemplos de sintaxe do uso do Apache Spark para consultar dados compartilhados utilizando o Compartilhamento Delta. Use a palavra-chave deltasharing
como uma opção de formato para operações do DataFrame.
Outras opções para consulta de dados compartilhados
Você também pode criar consultas que utilizem nomes de tabelas compartilhadas em catálogos do Compartilhamento Delta registrados no metastore, como aqueles nos exemplos a seguir:
SQL
SELECT * FROM shared_table_name
Python
spark.read.table("shared_table_name")
Para saber mais sobre como configurar o Compartilhamento Delta no Azure Databricks e consultar dados utilizando nomes de tabelas compartilhadas, consulte Leitura de dados compartilhados utilizando o Compartilhamento Delta do Databricks para o Databricks (para destinatários).
Você pode utilizar o Fluxo Estruturado para processar registros em tabelas compartilhadas de forma incremental. Para utilizar o Fluxo Estruturado, é necessário habilitar o compartilhamento do histórico para a tabela. Confira ALTER SHARE. O compartilhamento de histórico requer o Databricks Runtime 12.2 LTS ou superior.
Se a tabela compartilhada tiver o feed de alterações de dados habilitado na tabela Delta de origem e o histórico habilitado no compartilhamento, você poderá utilizar o feed de dados de alterações durante a leitura de um Compartilhamento Delta com Fluxo Estruturado ou operações de dados. Confira Usar o feed de dados de alterações do Delta Lake no Azure Databricks.
Leitura com a palavra-chave de formato do Compartilhamento Delta
A palavra-chave deltasharing
tem suporte para operações de leitura do DataFrame do Spark, conforme mostrado no exemplo a seguir:
df = (spark.read
.format("deltasharing")
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)
Leitura do feed de dados de alterações das tabelas compartilhadas do Compartilhamento Delta
Para tabelas que têm histórico compartilhado e feed de dados de alterações habilitado, você pode fazer a leitura dos registros do feed de alterações utilizando o DataFrames do Apache Spark. O compartilhamento de histórico requer o 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>")
)
Leitura das tabelas compartilhadas do Compartilhamento Delta usando o Fluxo Estruturado
Para tabelas que têm o histórico compartilhado, você pode utilizar a tabela compartilhada como uma fonte para o Fluxo Estruturado. O compartilhamento de histórico requer o 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>")
)