Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приведены примеры синтаксиса использования Apache Spark для выполнения запросов к данным, к которым предоставлен доступ с помощью OpenSharing. Используйте ключевое deltasharing слово в качестве параметра формата для операций DataFrame.
Другие варианты запроса общих данных
Вы также можете создавать запросы, использующие имена общих таблиц в каталогах OpenSharing, зарегистрированных в хранилище метаданных, например в следующих примерах:
SQL
SELECT * FROM shared_table_name
Python
spark.read.table("shared_table_name")
Дополнительные сведения о настройке OpenSharing в Azure Databricks и выполнении запросов к данным с использованием имен общих таблиц см. в статье Чтение общих данных с помощью Databricks-to-Databricks OpenSharing (для получателей).
Структурированное потоковое вещание можно использовать для поэтапной обработки записей в общих таблицах. Чтобы использовать структурированную потоковую передачу, необходимо включить совместное использование истории для таблицы. См. ALTER SHARE. Для общего доступа к журналам требуется Databricks Runtime 12.2 LTS или более поздней версии.
Если для исходной таблицы Delta, предоставленной в общем доступе, включён поток изменений данных, а для общего доступа включена история, вы можете использовать поток изменений данных при чтении общего доступа OpenSharing с помощью Structured Streaming или пакетных операций. См. Использование канала передачи данных об изменениях в Azure Databricks.
Чтение с помощью ключевого слова формата OpenSharing
Ключевое deltasharing слово поддерживается для операций считывания данных в DataFrame Apache Spark, как показано в следующем примере:
df = (spark.read
.format("deltasharing")
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)
Чтение потока данных об изменениях для общих таблиц в OpenSharing
Для таблиц с общей историей и включённым потоком изменений данных, можно считывать записи потока изменений данных с помощью DataFrames Apache Spark. Для общего доступа к журналам требуется Databricks Runtime 12.2 LTS или более поздней версии.
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>")
)
Чтение предоставленных через OpenSharing таблиц с помощью Structured Streaming
Для таблиц, имеющих общий журнал, можно использовать общую таблицу в качестве источника для структурированной потоковой передачи. Для общего доступа к журналам требуется Databricks Runtime 12.2 LTS или более поздней версии.
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>")
)