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

Você também pode criar consultas que utilizam nomes de tabelas compartilhadas 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).

É 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 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 as operações de leitura do Apache Spark DataFrame, conforme 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 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.

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 que têm 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.

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