共用方式為


使用 Apache Spark DataFrame 讀取 Delta Sharing 共享表格

本文提供使用 Apache Spark 查詢使用 Delta Sharing 共用的數據語法範例。 deltasharing使用 關鍵詞作為 DataFrame 作業的格式選項。

查詢共享數據的其他選項

您也可以在中繼存放區中註冊的 Delta 共用目錄中建立使用共用資料表名稱的查詢,例如下列範例中的查詢:

SQL

SELECT * FROM shared_table_name

Python

spark.read.table("shared_table_name")

如需在 Azure Databricks 中配置 Delta Sharing 以及使用共用資料表名稱查詢數據的更多資訊,請參閱 閱讀透過 Databricks 到 Databricks Delta Sharing 共用的資料(適用於接收者)

您可以使用結構化串流,以累加方式處理共享數據表中的記錄。 若要使用結構化串流,您必須啟用資料表的歷程記錄共用。 請參閱 ALTER SHARE。 記錄共用需要 Databricks Runtime 12.2 LTS 或更新版本。

如果共享數據表已在來源 Delta 數據表上啟用變更數據摘要,並在共用上啟用歷程記錄,您可以在讀取具有結構化串流或批次作業的 Delta 共用時,使用變更數據摘要。 請參閱 在 Azure Databricks 上使用 Delta Lake 變更數據摘要。

使用 Delta Sharing 格式關鍵詞讀取

deltasharing Apache Spark DataFrame 讀取作業支持 關鍵詞,如下列範例所示:

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

讀取 Delta Sharing 共享表格的變更數據流

對於已啟用記錄共用和變更數據摘要的數據表,您可以使用 Apache Spark DataFrame 讀取變更資料摘要記錄。 記錄共用需要 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>")
)

使用結構化串流讀取Delta Sharing共享的表格

對於具有共用歷程記錄的數據表,您可以使用共用數據表作為結構化串流的來源。 記錄共用需要 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>")
)