Azure Databricks'da sağlayıcıyı içeri aktarma ve paylaşılan verileri okuma

Azure Databricks alıcısı olarak, açık bir sağlayıcıdan bir kimlik bilgisi dosyasını içeri aktarabilir ve paylaşılan veri varlıklarını okuyabilirsiniz. Paylaşılan verileri Katalog Gezgini'nde sorgulayabilir veya bir Python not defteri kullanabilirsiniz.

Note

Databricks-Databricks OpenSharing kullanılarak veriler sizinle paylaşıldıysa, verilere erişmek için bir kimlik bilgisi dosyasına ihtiyacınız yoktur ve bu sayfa sizin için geçerli değildir. Bunun yerine bkz. Databricks-to-Databricks OpenSharing (alıcılar için) kullanılarak paylaşılan verileri okuma.

Requirements

Ekibinizin bir üyesi, veri sağlayıcısının paylaştığı kimlik bilgileri dosyasını indirmeli ve bu dosyayı veya dosya konumunu sizinle paylaşmak için güvenli bir kanal kullanmalıdır. Bkz. Open-to-Databricks modelinde erişim alma.

Note

Depolama demeti ve kimlik bilgisi özellikleri (kapsam, süre sonu, okuma ve okuma/yazma) sağlayıcı tarafından belirlenir. Sağlayıcı Azure Databricks bir sağlayıcıysa, Güvenli Çıkış Ağ Geçidi (SEG) çalışma alanına açık bir paylaşımı bağlamak, sağlayıcının demetini giden erişim için otomatik olarak izin verilenler listesine ekler. Databricks dışındaki açık sağlayıcılar için bucket otomatik olarak izin listesine eklenmez. Bağlamadan önce sağlayıcıyı doğrulayın.

Sağlayıcıyı içeri aktarma ve paylaşılan verileri sorgulama

Bu bölümde, bir sağlayıcının nasıl içeri aktarıldığı ve Katalog Gezgini'nde veya Python not defterinde paylaşılan verilerin nasıl sorgulandığı açıklanmaktadır:

  • Unity Kataloğu için Azure Databricks çalışma alanınız etkinleştirildiyse, Katalog Gezgini'nde İçeri Aktarma sağlayıcısı kullanıcı arabirimini kullanın. Bir kimlik bilgisi dosyası depolamanıza veya belirtmenize gerek kalmadan aşağıdakileri yapabilirsiniz:

    • Bir düğmeye tıklayarak paylaşımlardan kataloglar oluşturun.
    • Paylaşılan tablolara erişim vermek için Unity Kataloğu erişim denetimlerini kullanın.
    • Standart Unity Kataloğu söz dizimlerini kullanarak paylaşılan verileri sorgula.
    • Kataloğu yeniden oluşturmadan mevcut sağlayıcı nesnesine döndürülmüş bir kimlik bilgisi uygulayın. Bkz. Açık alıcılar için kimlik bilgilerini döndürme.
  • Azure Databricks çalışma alanınız Unity Kataloğu için etkinleştirilmemişse, bunun yerine Python not defteri yönergelerini izleyin.

Katalog Tarayıcısı

gerekli izinler: Bir meta veri deposu yöneticisi veya Unity Kataloğu meta veri deponuz için ayrıcalığı olan CREATE PROVIDER bir kullanıcı. Paylaşımdan katalog oluşturmak için CREATE CATALOG ayrıcalığına sahip olmanız gerekir.

  1. Azure Databricks çalışma alanınızda katalog gezginini açmak için Data icon.Catalog öğesine tıklayın.

  2. Katalog bölmesinin üst kısmında Dişli simgesine tıklayın ve Paylaşımı Aç seçeneğini belirleyin. Alternatif olarak, sağ üst köşede Paylaş > OpenSharing öğesine tıklayın.

  3. Benimle paylaşılan sekmesinde Paylaşımı yükle'ye tıklayın.

  4. Sağlayıcı adını girin. Ad boşluk içeremez.

  5. Sağlayıcının sizinle paylaştığı kimlik bilgisi dosyasını karşıya yükleyin. Birçok sağlayıcının paylaşım alabileceğiniz kendi OpenSharing ağları vardır. Daha fazla bilgi için bkz . Sağlayıcıya özgü yapılandırmalar.

  6. (İsteğe bağlı) Bir açıklama girin.

    Sağlayıcının kimlik bilgisi dosyasını doğrudan bir sağlayıcıdan içeri aktarma

  7. İçe aktar'a tıklayın.

  8. Paylaşımlar sekmesinde, paylaşılan verilerden katalog oluşturmak için paylaşım satırında Katalog oluştur'a tıklayın.

    Sql veya Databricks CLI kullanarak bir paylaşımdan katalog oluşturma hakkında bilgi için bkz. Paylaşımdan katalog oluşturma.

  9. Kataloglara erişim izni verin. Bkz. Paylaşılan verileri ekibimin kullanımına nasıl açabilirim? ve OpenSharing kataloğundaki şemalar, tablolar ve birimler için izinleri yönetme.

  10. Unity Kataloğu'nda kayıtlı herhangi bir veri nesnesi gibi paylaşılan veri nesnelerini de okuyun.

    Ayrıntılar ve örnekler için bkz. Paylaşılan tablo veya birimdeki verilere erişme.

Python

Çalışma alanınız Unity Kataloğu için etkinleştirilmemişse, Azure Databricks çalışma alanınızda bir not defteri kullanarak paylaşılan verileri okuyun. Kimlik bilgisi dosyasını Azure Databricks depolayın, ardından veri sağlayıcısında kimlik doğrulaması yapmak ve paylaşılan verileri okumak için kullanın.

Note

Bu yönergelerde, Azure Databricks çalışma alanınızın Unity Kataloğu için etkinleştirilmediği varsayılır. Unity Kataloğu kullanıyorsanız, paylaşımdan okurken kimlik bilgisi dosyasına işaret etmeniz gerekmez. Unity Kataloğu'nda kayıtlı herhangi bir tabloda olduğu gibi paylaşılan tablolardan da okuyabilirsiniz. Databricks, burada sağlanan yönergeler yerine Katalog Gezgini'nde İçeri Aktarma sağlayıcısı kullanıcı arabirimini kullanmanızı önerir.

Ekibinizdeki kullanıcıların paylaşılan verilere erişebilmesi için önce kimlik bilgileri dosyasını Azure Databricks çalışma alanı dosyası olarak depolayın.

  1. Azure Databricks çalışma alanınızda kimlik bilgisi dosyasını içeri aktarmak için bkz. Dosyayı içeri aktarma.
  2. Kebab menü simgesine tıklayarak diğer kullanıcılara dosyaya erişme izni vererek dosyanın yanındaki Paylaş (İzinler) seçeneğini kullanabilirsiniz. Dosyaya erişimi olması gereken Azure Databricks kimliklerini giriş. Dosya izinleri hakkında daha fazla bilgi için bkz. Dosya ACL'leri.

Kimlik bilgileri dosyası depolandığına göre, paylaşılan tabloları listelemek ve okumak için bir not defteri oluşturun.

  1. Azure Databricks çalışma alanınızda Yeni > Not Defteri öğesine tıklayın. Azure Databricks not defterleri hakkında daha fazla bilgi için bkz. Databricks not defterleri.

  2. Bağlayıcıyı delta-sharing yükleyin ve paylaşılan tabloları listelemek ve okumak için Python, pandas, veya Apache Spark kullanın. Profil yolu olarak kimlik bilgileri dosyanızın çalışma alanı yolunu (örneğin, /Workspace/Users/user.name@email.com/config.share) kullanın. Kod örnekleri için bkz . Pandas: Paylaşılan verileri okuma ve Apache Spark: Paylaşılan verileri okuma.

  3. Python ve Apache Spark komutlarına ek olarak, SQL kullanarak paylaşılan verileri sorgulayabilirsiniz. Paylaşılan tablodan çalışma alanında yerel bir tablo oluşturun ve yerel tabloyu sorgulayın. Paylaşılan veriler yerel tabloda depolanmaz veya önbelleğe alınmaz. Yerel tabloyu her sorguladığınızda, paylaşılan verilerin geçerli durumunu görürsünüz.

    Değişkenleri aşağıdaki gibi değiştirin:

    • <local-table-name>: Yerel tablonun adı.
    • <profile-path>: kimlik bilgisi dosyasının konumu.
    • <share-name>: tablo için share= değeri.
    • <schema-name>: tablo için schema= değeri.
    • <table-name>: tablo için name= değeri.
    %sql
    DROP TABLE IF EXISTS <local-table-name>;
    
    CREATE TABLE <local-table-name> USING deltaSharing LOCATION "<profile-path>#<share-name>.<schema-name>.<table-name>";
    
    SELECT * FROM <local-table-name> LIMIT 10;
    
  4. Komutunu çalıştırdığınızda, paylaşılan veriler doğrudan sorgulanır. Test olarak tablo sorgulanır ve ilk 10 sonuç döndürülür.

  5. Çıkış boşsa veya beklediğiniz verileri içermiyorsa veri sağlayıcısına başvurun.

OpenSharing Python bağlayıcı sınırlamaları geçerlidir. Bkz . OpenSharing Python bağlayıcı sınırlamaları.

Limitations

Open-to-Databricks paylaşımı OpenSharing protokolunu temel alır. Açık bir sağlayıcıyı Azure Databricks içeri aktardığınızda aşağıdaki destek geçerlidir:

  • Yalnızca Delta Sharing protokolunu destekleyen Delta tabloları. Yalnızca Iceberg tabloları desteklenmez.
  • Hem ön imzalı URL hem de bulut belirteci (dizin tabanlı) erişim desteklenir. Azure Databricks, sağlayıcı tarafından sunulduğunda bulut belirteci erişimini tercih eder.
  • Yalnızca aşağıdaki bulut belirteci depolama düzenleri desteklenir: s3, s3a, s3n, abfss, wasbs, , gsve r2.

Dış kaynaktan Iceberg, CSV, Parquet veya JSON gibi Delta dışı verileri okumak için bunun yerine Lakehouse Federasyonu'nı kullanın. Bkz . Dış veritabanlarına ve kataloglara bağlanma.