Aracılığıyla paylaş


Delta Lake tablolarını okuma (Synapse veya dış konum)

Önemli

Bu özellik şu anda önizlemededir. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları, beta, önizleme aşamasında olan veya henüz genel kullanıma sunulmamış Azure özellikleri için geçerli olan daha fazla yasal hüküm içerir. Bu belirli önizleme hakkında bilgi için bkz . AKS üzerinde Azure HDInsight önizleme bilgileri. Sorular veya özellik önerileri için lütfen AskHDInsight'ta ayrıntıları içeren bir istek gönderin ve Azure HDInsight Topluluğu hakkında daha fazla güncelleştirme için bizi takip edin.

Bu makalede, meta veri deposuna (Synapse veya genel erişimi olmayan diğer meta veri depoları) erişim olmadan Delta Lake tablosunun nasıl okunduğuna ilişkin genel bir bakış sağlanmaktadır.

AKS üzerinde HDInsight ile Trino kullanarak tablolarda aşağıdaki işlemleri gerçekleştirebilirsiniz.

  • SİL
  • UPDATE
  • INSERT
  • BİRLEŞTİRME

Önkoşullar

Delta Lake şemaları ve tabloları oluşturma

Bu bölümde, delta lake kataloğunu zaten yapılandırdığınıza göre önceden var olan bir konum üzerinden Delta tablosunun nasıl oluşturulacağı gösterilmektedir.

  1. Azure portalında tablonuzun temel dizininin bulunduğu konumu kullanarak Storage browser depolama hesabına göz atın. Bu tablo Synapse'den geliyorsa, büyük olasılıkla bir synapse/workspaces/.../warehouse/ yol altındadır ve tablonuzun adını alır ve bir _delta_log dizin içerir. Klasörün yanında bulunan üç nokta arasından seçim yapın Copy URL .

    Bu http yolunu bir ABFS (Azure Blob Dosya Sistemi) yoluna dönüştürmeniz gerekir:

    Depolama http yolu şu şekilde yapılandırılmıştır: https://{{AZURE_STORAGE_ACCOUNT}}.blob.core.windows.net/{{AZURE_STORAGE_CONTAINER}}/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    ABFS yollarının şöyle görünmesi gerekir: abfss://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT}}.dfs.core.windows.net/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

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

  2. Trino'da bir Delta Lake şeması oluşturun.

    CREATE SCHEMA delta.default;
    

    Alternatif olarak, belirli bir depolama hesabında şema da oluşturabilirsiniz:

    CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
    
  3. register_table Tabloyu oluşturmak için yordamı kullanın.

    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. Doğrulamak için tabloyu sorgula.

    SELECT * FROM delta.default.table_name
    

Synapse Spark'ta Delta Lake tabloları yazma

Veri çerçevesini Delta tablosu olarak kaydetmek için kullanın format("delta") , ardından tabloyu Trino'ya kaydetmek için veri çerçevesini delta biçimi olarak kaydettiğiniz yolu kullanabilirsiniz.

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

Sonraki adımlar

Trino'da önbelleğe almayı yapılandırma