Aracılığıyla paylaş


Yabancı tablolarla çalışmak

Bazen federasyon tabloları olarak da adlandırılan yabancı tablolar, Unity Kataloğu kullanılarak bir yabancı kataloğun parçası olarak kaydedilen tablolardır. Yabancı tablolar dış sistemler tarafından yönetilen veriler ve meta veriler içerir ve Unity Kataloğu bu tabloları sorgulamak için veri idaresi ekler.

Azure Databricks, yabancı tabloları kaydetmek için aşağıdaki yöntemleri destekler:

  • Sorgu federasyonu , PostgreSQL ve MySQL gibi dış veri sistemlerine federasyon sağlamak için güvenli JDBC bağlantıları kullanır.
  • Katalog federasyonu , verileri doğrudan dosya depolama alanında sorgulamak için Hive Meta Veri Deposu veya Snowflake Horizon Kataloğu gibi dış katalogları bağlar.

Important

Eski Apache Spark ve Azure Databricks iş yükleriyle geriye dönük uyumluluk için, federasyon halindeki Hive meta veri deposundaki yabancı tablolar, Hive meta veri deposundan meta verileri döndürür, bu tabloların Hive tarafından yönetilen mi yoksa Hive dış tablosu mu olduklarını da içerecek şekilde.

Neden yabancı tablo kullanmalısınız?

Yabancı tablolar, Azure Databricks'i mevcut veri sistemleriyle tümleştirirken veya eski sistemlerden geçiş yaparken esneklik sağlar.

Birçok yabancı tablo, yukarı akış ETL iş akışları için veri geçişi veya kod yeniden düzenleme gerektirmeden hızlı bir çözüm sağladığından, Azure Databricks tarafından yönetilmeyen verilere doğrudan erişim için geçici bir çözüm görevi görür. Databricks, üretim iş yüklerini yönlendiren veya sık sık sorgulanan veri kümelerinin Unity Kataloğu yönetilen tablolarına geçirilmesini önerir. Yönetilen tablolar en iyi performansı sağlar ve birçok yerleşik iyileştirmeye sahiptir. Bkz. Harici bir tabloyu yönetilen Unity Kataloğu tablosuna dönüştürme.

Sorgu federasyonu, Lakeflow Connect tarafından desteklenmeyen dış veri sistemlerinden veri yüklemek için ücretsiz bir çözüm sağlar. Databricks, yabancı tabloları Unity Kataloğu'na çoğaltmak için materyalize edilmiş görünümlerin kullanılmasını önerir. Bkz . Gerçekleştirilmiş görünümlerle yabancı tablolardan veri yükleme.

Yabancı tablolar oluşturma veya yabancı tablolara veri yazma

Yeterli ayrıcalığınız varsa ve çalışma alanınız iç federasyon Hive meta deposuyla yapılandırılmışsa, şirket içi bir Hive meta veri deposu tarafından yedeklenen yabancı tablolar oluşturabilir veya bu tablolara yazabilirsiniz. Dış federasyon Hive meta veri deposu ve Lakehouse Federation tarafından desteklenen tüm yabancı tablolar salt okunur durumdadır.

Azure Databricks, yabancı tablolara yazma işlemleri için meta verileri, verileri veya semantiği yönetmez. Yabancı tablolar Delta Lake veya Apache Iceberg gibi ACID uyumlu bir biçimle desteklenebilir, ancak yabancı tablolar Unity Kataloğu tarafından yönetilen tabloların işlem garantilerini sağlamaz.

Sorgu performansı, gelişmiş yazma hızı, veri atlama ve yalnızca meta veri sorguları için Azure Databricks iyileştirmelerinin çoğu Unity Kataloğu gerektirir. Databricks, gecikme ve maliyet farklarını değerlendirmek için en son Databricks Runtime sürümünü kullanarak yabancı tablolar ile Unity Kataloğu yönetilen tabloları arasındaki okuma ve yazma sorgu performansını karşılaştırmanızı önerir. Bkz. Azure Databricks'te Delta Lake ve Apache Iceberg için Unity Kataloğu tarafından yönetilen tablolar.