Delta Sharing çıkış maliyetlerini izleme ve yönetme (sağlayıcılar için)
Bu makalede, Delta Sharing kullanarak veri ve yapay zeka varlıklarını paylaşırken bulut satıcısı çıkış maliyetlerini izlemek ve yönetmek için kullanabileceğiniz araçlar açıklanmaktadır.
Diğer veri paylaşım platformlarının aksine, Delta Paylaşımı için veri çoğaltma gerekmez. Bu modelin birçok avantajı vardır ancak bulut satıcınız bulutlar veya bölgeler arasında veri paylaştığınızda veri çıkışı ücretleri alabilir. Delta Sharing'i bir bölgedeki verileri ve yapay zeka varlıklarını paylaşmak için kullanırsanız çıkış ücreti ödemezsiniz.
Databricks çıkış ücretlerini izlemek ve yönetmek için şunları sağlar:
- Çıkış ücretlerini önlemek için bölgeler arasında veri çoğaltma yönergeleri.
- Çıkış ücretlerini önlemek için Cloudflare R2 depolama desteği.
Çıkış maliyetlerini önlemek için verileri çoğaltın
Çıkış maliyetlerinden kaçınmaya yönelik bir yaklaşım, sağlayıcının alıcılarının kullandığı bölgelerde paylaşılan verilerin yerel çoğaltmalarını oluşturup eşitlemesidir. Diğer bir yaklaşım da alıcıların paylaşılan verileri etkin sorgulama için yerel bölgelere kopyalaması ve paylaşılan tablo ile yerel kopya arasında eşitlemeler ayarlamasıdır. Bu bölümde bir dizi çoğaltma deseni ele alınmaktadır.
Artımlı çoğaltma için Delta derin klonu kullanma
Sağlayıcılar, Delta tablolarını paylaştıkları bölgelerdeki dış konumlara çoğaltmak için DEEP CLONE
kullanabilir. Derin kopyalar, kaynak tablo verilerini ve meta verilerini klonlama hedefine aktarır. Derin kopyalamalar, kaynak tablodaki yeni verileri tanımlayıp hedefi buna göre yenileyerek artımlı güncelleştirmeleri de etkinleştirir.
CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
[TBLPROPERTIES clause] [LOCATION path];
Aşağıdaki komutu kullanarak, paylaşılan tablodaki son güncelleştirmelerle hedef tablo verilerini artımlı olarak yenilemek için bir Databricks işi zamanlayabilirsiniz:
CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;
Bkz. Azure Databricks'te tablo kopyalama ve Databricks'te orkestrasyona genel bakış.
Artımlı çoğaltma için paylaşılan tablolarda değişiklik veri akışını (CDF) etkinleştirme
Bir tablo CDF'si ile paylaşıldığında, alıcı değişikliklere erişebilir ve bunları kullanıcıların sorgu gerçekleştirdiği tablonun yerel bir kopyasıyla birleştirebilir. Bu senaryoda, verilere alıcı erişimi bölge sınırlarını aşmaz ve çıkış, yerel kopyayı yenilemeyle sınırlıdır. Alıcı Databricks'teyse, değişiklikleri yerel çoğaltmaya yaymak için Databricks İş Akışı görevini kullanabilir.
Bir tabloyu CDF ile paylaşmak için, tabloda CDF'yi etkinleştirmeniz ve ardından tablonun kendisini WITH HISTORY
ile paylaşmanız gerekir.
CDF kullanma hakkında daha fazla bilgi için bkz. Azure Databricks'da Delta Lake değişiklik veri akışını kullanmak ve Paylaşıma tablo ekleyin.
Cloudflare R2 çoğaltmalarını kullanma veya depolamayı R2'ye geçirme
Cloudflare R2 nesne depolaması çıkış ücreti ödemez. Paylaştığınız verilerin R2'ye çoğaltılması veya geçirilmesi, çıkış ücreti ödemeden Delta Sharing'i kullanarak veri paylaşmanızı sağlar. Ancak bu, yine de çıkış maliyetlerine neden olabilecek olan görüş paylaşımı için geçerli değildir. Bu bölümde, verilerin R2 konumuna nasıl çoğaltıldığı ve kaynak tablolardan artımlı güncelleştirmelerin nasıl etkinleştirileceği açıklanmaktadır.
Gereksinimler
- Unity Kataloğu için etkinleştirilen Databricks çalışma alanı.
- Databricks Runtime 14.3 veya üzeri ya da SQL Veri Ambarı 2024.15 veya üzeri.
- Cloudflare hesabı. Bkz. https://dash.cloudflare.com/sign-up.
- Cloudflare R2 Yönetici rolü. Cloudflare rol dökümantasyonuna bakın.
- Workspace'e bağlı Unity Kataloğu meta veri deposunda
CREATE STORAGE CREDENTIAL
ayrıcalığı. Hesap yöneticileri ve meta veri deposu yöneticileri varsayılan olarak bu ayrıcalığı alır. -
CREATE EXTERNAL LOCATION
hem meta veri deposunda hem de dış konumda referans verilen depolama kimlik bilgileri üzerinde ayrıcalık. Meta veri deposu yöneticileri bu ayrıcalığı varsayılan olarak alır. -
CREATE MANAGED STORAGE
harici konum üzerindeki ayrıcalık. -
CREATE CATALOG
üzerinde. Meta veri deposu yöneticileri bu ayrıcalığı varsayılan olarak alır.
Cloudflare R2 için sınırlamalar
Sağlayıcılar sıvı kümeleme ve V2 denetim noktası kullanan R2 tablolarını paylaşamaz.
Azure Databricks'te dış konum olarak R2 demeti bağlama
Cloudflare R2 kovası oluşturun.
R2 kovasını yapılandır kısmına bakın.
Unity Kataloğu'nda R2 demetine erişim sağlayan bir depolama kimlik bilgisi oluşturun.
Unity Kataloğu'nda dış konum oluşturmak için depolama kimlik bilgilerini kullanın.
Bkz. Bulut depolamayı Azure Databricks'e bağlamak için dış konum oluşturma.
Dış konumu kullanarak yeni katalog oluşturma
Yönetilen depolama konumu olarak yeni dış konumu kullanan bir katalog oluşturun.
Bkz. Kataloglar oluştur.
Kataloğu oluştururken aşağıdakileri yapın:
Katalog Tarayıcısı
- Standart katalog türünü seçin.
-
depolama konumualtında, depolama konumu seçin’u seçin ve dış konum olarak tanımladığınız R2 haznesinin yolunu girin. Örneğin
r2://mybucket@my-account-id.r2.cloudflarestorage.com
SQL
Dış konum olarak tanımladığınız R2 demetinin yolunu kullanın. Örneğin:
CREATE CATALOG IF NOT EXISTS my-r2-catalog
MANAGED LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com'
COMMENT 'Location for managed tables and volumes to share using Delta Sharing';
Paylaşmak istediğiniz verileri yeni katalogdaki bir tabloya kopyalama
Azure Data Lake Storage 2. Nesil'deki tabloları yönetilen depolama için R2 kullanan yeni kataloğa çoğaltmak için DEEP CLONE
kullanın. Derin kopyalar, kaynak tablo verilerini ve meta verilerini klonlama hedefine aktarır. Derin kopyalamalar, kaynak tablodaki yeni verileri tanımlayıp hedefi buna göre yenileyerek artımlı güncelleştirmeleri de etkinleştirir.
CREATE TABLE IF NOT EXISTS new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table
LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com';
Aşağıdaki komutu kullanarak kaynak tablodaki son güncelleştirmelerle hedef tablo verilerini artımlı olarak yenilemek için bir Databricks işi zamanlayabilirsiniz:
CREATE OR REPLACE TABLE new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table;
Bkz. Azure Databricks'te tablo kopyalama ve Databricks'te orkestrasyona genel bakış.
Yeni tabloyu paylaşma
Paylaşımı oluşturduğunuzda, R2'de depolanan yeni katalogdaki tabloları ekleyin. İşlem, bir paylaşıma herhangi bir tablo eklemekle aynıdır.