Pular para o conteúdo principal

Ler tabelas compartilhadas do OpenSharing usando Apache Spark DataFrames

Este artigo fornece exemplos de sintaxe para usar o Apache Spark para consultar dados compartilhados usando OpenSharing. Use a palavra-chave deltasharing como opção de formato para operações de DataFrame.

Outras opções para consultar dados compartilhados

Também é possível criar queries que utilizem nomes de tabela compartilhados em catálogos OpenSharing registrados no metastore, como nos exemplos a seguir:

SQL
SELECT * FROM shared_table_name

Para saber mais sobre como configurar o OpenSharing no Databricks e consultar dados usando nomes de tabela compartilhados, consulte Ler dados compartilhados com Databricks-to-Databricks OpenSharing (para destinatários).

Você pode usar a transmissão estructurada para processar registros em tabelas compartilhadas de forma incremental. Para usar a transmissão estructurada, você deve habilitar o compartilhamento de história para a tabela. See ALTER SHARE. O compartilhamento de histórico requer Databricks Runtime 12.2 LTS ou superior.

Se a tabela compartilhada tiver o feed de dados alterados ativado na tabela Delta de origem e história ativada no compartilhamento, você poderá usar o feed de dados alterados ao ler um compartilhamento OpenSharing com transmissão estructurada ou operações em lote. Consulte Usar o feed de dados de alteração no Databricks.

Leia com a palavra-chave do formato OpenSharing

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

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

Ler feed de dados alterados para tabelas compartilhadas OpenSharing

Para tabelas que têm história compartilhada e feed de dados alterados ativado, você pode ler registros de feed de dados alterados usando Apache Spark DataFrames. O compartilhamento de história requer Databricks Runtime 12.2 LTS ou acima.

Python
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 do OpenSharing usando transmissão estructurada

Para tabelas com história compartilhada, pode-se usar a tabela compartilhada como fonte para transmissão estructurada. O compartilhamento de história requer Databricks Runtime 12.2 LTS ou acima.

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