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
- Python
SELECT * FROM shared_table_name
spark.read.table("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:
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.
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.
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>")
)