Leer Las tablas compartidas de Compartir de Delta usando los marcos de datos de Apache Spark
En este artículo se proporcionan ejemplos de sintaxis de uso de Apache Spark para consultar datos compartidos mediante el Delta Sharing. Use la palabra clave deltasharing
como opción de formato para las operaciones DataFrame.
También puede crear consultas que utilicen nombres de tablas compartidas en catálogos de Delta Sharing registrados en la metastore, como los de los siguientes ejemplos:
SELECT * FROM shared_table_name
spark.read.table("shared_table_name")
Para más información sobre la configuración del uso compartido de Delta en Azure Databricks y la consulta de datos mediante nombres de tabla compartidos, consulte Lectura de datos compartidos mediante Databricks-to-Databricks Delta Sharing (para destinatarios).
Puede utilizar Structured Streaming para procesar registros en tablas compartidas de forma incremental. Para usar Structured Streaming, debe habilitar el uso compartido de historial para la tabla. Consulte ALTER SHARE. El uso compartido del historial requiere Databricks Runtime 12.2 LTS o superior.
Si la tabla compartida tiene la fuente de datos de cambios habilitada en la tabla Delta de origen y el historial habilitado en el recurso compartido, puede usar la fuente de datos de cambios mientras lee un recurso compartido de Delta con transmisión estructurada u operaciones por lotes. Vea Uso de la fuente de distribución de datos de cambios de Delta Lake en Azure Databricks.
La palabra clave deltasharing
es compatible con las operaciones de lectura de DataFrame de Apache Spark, como se muestra en el ejemplo siguiente:
df = (spark.read
.format("deltasharing")
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)
En el caso de las tablas que tienen habilitado el historial compartido y la fuente de distribución de datos modificados, puede leer los registros de fuente de distribución de datos modificados mediante DataFrames de Apache Spark. El uso compartido del historial requiere Databricks Runtime 12.2 LTS o 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>")
)
En el caso de las tablas que tienen historial compartido, puede usar la tabla compartida como origen para Structured Streaming. El uso compartido del historial requiere Databricks Runtime 12.2 LTS o 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>")
)