Bagikan melalui


Membaca tabel Delta Lake (Synapse atau lokasi eksternal)

Penting

Fitur ini masih dalam mode pratinjau. Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure mencakup lebih banyak persyaratan hukum yang berlaku untuk fitur Azure yang dalam versi beta, dalam pratinjau, atau belum dirilis ke ketersediaan umum. Untuk informasi tentang pratinjau khusus ini, lihat Azure HDInsight pada informasi pratinjau AKS. Untuk pertanyaan atau saran fitur, kirimkan permintaan di AskHDInsight dengan detail dan ikuti kami untuk pembaruan lebih lanjut di Komunitas Azure HDInsight.

Artikel ini memberikan gambaran umum tentang cara membaca tabel Delta Lake tanpa memiliki akses ke metastore (Synapse atau metastore lainnya tanpa akses publik).

Anda dapat melakukan operasi berikut pada tabel menggunakan Trino dengan HDInsight di AKS.

  • DELETE
  • UPDATE
  • INSERT
  • GABUNG

Prasyarat

Membuat skema dan tabel Delta Lake

Bagian ini memperlihatkan cara membuat tabel Delta di atas lokasi yang sudah ada sebelumnya mengingat Anda sudah memiliki katalog Delta Lake yang dikonfigurasi.

  1. Telusuri akun penyimpanan menggunakan Storage browser di portal Azure ke tempat direktori dasar tabel Anda berada. Jika tabel ini berasal dari Synapse, kemungkinan di bawah synapse/workspaces/.../warehouse/ jalur dan akan dinamai sesuai tabel Anda dan berisi _delta_log direktori. Pilih Copy URL dari tiga titik yang terletak di samping folder.

    Anda perlu mengonversi jalur http ini menjadi jalur ABFS (Azure Blob File System):

    Jalur http penyimpanan disusun seperti ini: https://{{AZURE_STORAGE_ACCOUNT}}.blob.core.windows.net/{{AZURE_STORAGE_CONTAINER}}/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    Jalur ABFS harus terlihat seperti ini: abfss://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT}}.dfs.core.windows.net/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    Contoh: abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/

  2. Buat skema Delta Lake di Trino.

    CREATE SCHEMA delta.default;
    

    Atau, Anda juga dapat membuat skema di akun penyimpanan tertentu:

    CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
    
  3. register_table Gunakan prosedur untuk membuat tabel.

    CALL delta.system.register_table(schema_name => 'default', table_name => 'table_name', table_location => 'abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/');
    
  4. Kueri tabel untuk diverifikasi.

    SELECT * FROM delta.default.table_name
    

Menulis tabel Delta Lake di Synapse Spark

Gunakan format("delta") untuk menyimpan dataframe sebagai tabel Delta, lalu Anda dapat menggunakan jalur tempat Anda menyimpan dataframe sebagai format delta untuk mendaftarkan tabel di Trino.

my_dataframe.write.format("delta").save("abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name")

Langkah berikutnya

Cara mengonfigurasi penembolokan di Trino