Bagikan melalui


Membaca berbagi tabel bersama Berbagi Delta menggunakan Apache Spark DataFrames

Artikel ini menyediakan contoh sintaks penggunaan Apache Spark untuk mengkueri data yang dibagikan menggunakan Berbagi Delta. deltasharing Gunakan kata kunci sebagai opsi format untuk operasi DataFrame.

Opsi lain untuk mengkueri data bersama

Anda juga dapat membuat kueri yang menggunakan nama tabel bersama di katalog Berbagi Delta yang terdaftar di metastore, seperti kueri dalam contoh berikut:

SQL

SELECT * FROM shared_table_name

Python

spark.read.table("shared_table_name")

Untuk informasi selengkapnya tentang mengonfigurasi Berbagi Delta di Azure Databricks dan mengkueri data menggunakan nama tabel bersama, lihat Membaca data yang dibagikan menggunakan Berbagi Delta Databricks-ke-Databricks (untuk penerima).

Anda dapat menggunakan Streaming Terstruktur untuk memproses rekaman dalam tabel bersama secara bertahap. Untuk menggunakan Streaming Terstruktur, Anda harus mengaktifkan berbagi riwayat untuk tabel. Lihat MENGUBAH BERBAGI. Berbagi riwayat memerlukan Databricks Runtime 12.2 LTS atau lebih tinggi.

Jika tabel bersama telah mengubah umpan data yang diaktifkan pada tabel Delta sumber dan riwayat yang diaktifkan pada berbagi, Anda dapat menggunakan umpan data perubahan saat membaca berbagi Delta dengan Streaming Terstruktur atau operasi batch. Harap lihat Menggunakan umpan data perubahan Delta Lake pada Azure Databricks.

Membaca dengan kata kunci format Berbagi Delta

Kata deltasharing kunci didukung untuk operasi baca Apache Spark DataFrame, seperti yang ditunjukkan dalam contoh berikut:

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

Membaca mengubah umpan data untuk tabel bersama Berbagi Delta

Untuk tabel yang memiliki riwayat berbagi dan mengubah umpan data diaktifkan, Anda dapat membaca mengubah rekaman umpan data menggunakan Apache Spark DataFrames. Berbagi riwayat memerlukan Databricks Runtime 12.2 LTS atau lebih tinggi.

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

Membaca tabel bersama Berbagi Delta menggunakan Streaming Terstruktur

Untuk tabel yang memiliki riwayat yang dibagikan, Anda dapat menggunakan tabel bersama sebagai sumber untuk Streaming Terstruktur. Berbagi riwayat memerlukan Databricks Runtime 12.2 LTS atau lebih tinggi.

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