LIVE şeması (eski)
Bu makalede, LIVE
sanal şemasının eski söz dizimine ve davranışına genel bir bakış sağlanır.
LIVE
sanal şeması, DLT işlem hatlarının eski bir özelliğidir ve kullanım dışı olarak kabul edilir. Bu modla oluşturulan işlem hatları için eski yayımlama modunu ve LIVE
sanal şemasını kullanmaya devam edebilirsiniz.
Azure Databricks'in gelecekteki bir sürümünde eski LIVE
sanal şeması ve eski yayımlama modu desteği kaldırılacaktır.
Not
Eski yayımlama modu işlem hatları, DLT işlem hattı ayarları kullanıcı arabiriminin Özeti alanında gösterilir.
target
alanı işlem hattının JSON belirtiminde ayarlandıysa, işlem hattının eski yayımlama modunu kullandığını da onaylayabilirsiniz.
Eski yayımlama moduyla yeni işlem hatları oluşturmak için işlem hattı yapılandırma kullanıcı arabirimini kullanamazsınız. Eski LIVE
söz dizimini kullanarak yeni işlem hatlarını dağıtmanız gerekiyorsa Databricks hesap temsilcinize başvurun.
LIVE sanal şeması nedir?
Not
LIVE
sanal şeması artık DLT için varsayılan yayımlama modunda veri kümesi bağımlılığını analiz etmek için gerekli değildir.
LIVE
şeması, DLT'de bir işlem hattında oluşturulan veya güncelleştirilen tüm veri kümeleri için sanal bir sınır tanımlayan bir programlama kavramıdır. Tasarım gereği, LIVE
şeması yayımlanmış bir şemadaki veri kümelerine doğrudan bağlı değildir. Bunun yerine LIVE
şeması, kullanıcı veri kümelerini şemaya yayımlamak istemese bile işlem hattındaki mantığın planlanmasını ve çalıştırılmasını sağlar.
Eski yayımlama modu işlem hatlarında, okuma işlemleri için geçerli işlem hattındaki diğer veri kümelerine başvurmak için LIVE
anahtar sözcüğünü kullanabilirsiniz, örneğin SELECT * FROM LIVE.bronze_table
. Yeni DLT işlem hatları için varsayılan yayımlama modunda bu söz dizimi sessizce yoksayılır, yani nitelenmemiş tanımlayıcılar geçerli şemayı kullanır. Bkz. Hedef kataloğu ve şemayı ayarla.
Pipeline'lar için eski yayımlama modu
LIVE
sanal şeması, DLT işlem hatları için eski yayımlama moduyla kullanılır. 5 Şubat 2025'den önce oluşturulan tüm tablolar varsayılan olarak eski yayımlama modunu kullanır.
Aşağıdaki tabloda, eski yayımlama modunda bir işlem hattında oluşturulan veya güncelleştirilen tüm gerçekleştirilmiş görünümler ve akış tabloları için davranış açıklanmaktadır:
Depolama seçeneği | Depolama konumu veya kataloğu | Hedef şema | Davranış |
---|---|---|---|
Hive meta veri deposu | Belirtilmemiş | Belirtilmemiş | Veri kümesi meta verileri ve veriler, DBFS kök dizininde depolanır. Hive meta veri deposuna kayıtlı veritabanı nesnesi yok. |
Hive meta veri deposu | Bulut nesne depolaması için bir URI veya dosya yolu. | Belirtilmemiş | Veri seti meta verileri ve veriler belirtilen depolama konumunda saklanır. Hive meta veri deposuna kayıtlı veritabanı nesnesi yok. |
Hive meta veri deposu | Belirtilmemiş | Hive meta veri deposunda var olan veya yeni bir şema. | Veri kümesi ve meta verileri DBFS kökünde depolanır. İşlem hattındaki tüm gerçekleştirilmiş görünümler ve akış tabloları Hive meta veri deposunda belirtilen şemada yayımlanır. |
Hive meta veri deposu | Bulut nesne depolaması için bir URI veya dosya yolu. | Hive meta veri deposunda var olan veya yeni bir şema. | Veri kümesi meta verileri ve veri seti belirtilen depolama konumunda depolanır. İşlem hattındaki tüm gerçekleştirilmiş görünümler ve akış tabloları Hive meta veri deposunda belirtilen şemada yayımlanır. |
Unity Kataloğu | Mevcut bir Unity Kataloğu. | Belirtilmemiş | Veri kümesi meta verileri ve verileri, hedef katalogla ilişkili varsayılan depolama konumunda depolanır. Unity Kataloğu'na kayıtlı veritabanı nesnesi yok. |
Unity Kataloğu | Mevcut bir Unity Kataloğu. | Unity Kataloğu'nda var olan veya yeni bir şema. | Veri kümesi meta verileri ve verileri, hedef şema veya katalogla ilişkili varsayılan depolama konumunda depolanır. İşlem hattındaki tüm gerçekleştirilmiş görünümler ve akış tabloları Unity Kataloğu'nda belirtilen şemada yayımlanır. |
LIVE şemasından kaynak kodunu güncelleştirme
Yeni varsayılan yayımlama moduyla çalışacak şekilde yapılandırılmış işlem hatları, LIVE
şema söz dizimini sessizce yoksayar. Varsayılan olarak, tüm tablo okumaları işlem hattı yapılandırmasında belirtilen kataloğu ve şemayı kullanır.
Eski LIVE
sanal şema davranışı da okumaları işlem hattı yapılandırmasında belirtilen kataloğa ve şemaya yönlendirdiği için, mevcut işlem hatlarının çoğunda bu davranış değişikliğinin hiçbir etkisi yoktur.
Önemli
Varsayılan çalışma alanı kataloğunu ve şemasını kullanan eski kodların okunabilmesi için kod güncellemeleri gereklidir. Aşağıdaki malzeme edilmiş görünüm tanımını göz önünde bulundurun:
CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM raw_data
Eski yayımlama modunda, raw_data
tablosundan nitelenmemiş bir okuma, çalışma alanı varsayılan kataloğunu ve şemasını (örneğin, main.default.raw_data
) kullanır. Yeni varsayılan işlem hattı modunda, varsayılan olarak kullanılan katalog ve şema, işlem hattı yapılandırmasında yapılandırılanlardır. Bu kodun beklendiği gibi çalışmaya devam ettiğinden emin olmak için başvuruyu aşağıdaki örnekte olduğu gibi tablonun tam tanımlayıcısını kullanacak şekilde güncelleştirin:
CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM main.default.raw_data
Unity Kataloğu'nun eski yayımlama modu işlem hatları için olay günlüğü ile çalışmak
Önemli
event_log
TVF, Unity Kataloğu'na tablo yayımlayan eski yayımlama modu işlem hatlarında kullanılabilir. Yeni işlem hatları için varsayılan davranış, olay günlüğünü işlem hattı için yapılandırılan hedef kataloğa ve şemaya yayımlar. Olay günlüğünü sorgulamak için 'e bakın.
Hive meta veri deposu ile yapılandırılan tabloların da farklı olay günlüğü desteği ve davranışı vardır. Bkz. Hive metastore işlem hatları için olay günlüğüyle çalışmak.
İşlem hattınız tabloları eski yayımlama moduyla Unity Kataloğu'na yayımlıyorsa, işlem hattının olay günlüğünü getirmek için event_log
tablo değerli işlevi (TVF) kullanmanız gerekir. İşlem hattı kimliğini veya tablo adını TVF'ye geçirerek işlem hattının olay günlüğünü alırsınız. Örneğin, 04c78631-3dd7-4856-b2a6-7d84e9b2638b
kimliğine sahip işlem hattının olay günlüğü kayıtlarını almak için:
SELECT * FROM event_log("04c78631-3dd7-4856-b2a6-7d84e9b2638b")
my_catalog.my_schema.table1
tablosunu oluşturan veya sahip olan işlem hattının olay günlüğü kayıtlarını almak için:
SELECT * FROM event_log(TABLE(my_catalog.my_schema.table1))
TVF'yi çağırmak için paylaşılan küme veya SQL ambarı kullanmanız gerekir. Örneğin, paylaşılan kümeye bağlı bir not defterini kullanabilir veya SQL ambarı ile bağlantılı SQL düzenleyicisi kullanabilirsiniz.
İşlem hattının sahibi, işlem hattının olaylarını sorgulamayı basitleştirmek için event_log
TVF üzerinden bir görünüm oluşturabilir. Aşağıdaki örnek, işlem hattı için olay günlüğü üzerinde bir görünüm oluşturur. Bu görünüm, bu makalede yer alan örnek olay günlüğü sorgularında kullanılır.
Not
-
event_log
TVF yalnızca işlem hattı sahibi tarafından çağrılabilir. - Birden çok işlem hattının olay günlüklerine erişmek için
event_log
tablo değerli işlevini bir işlem hattında veya sorguda kullanamazsınız. -
event_log
tablo değerli işlevi üzerinde oluşturulan bir görünümü diğer kullanıcılarla paylaşamazsınız.
CREATE VIEW event_log_raw AS SELECT * FROM event_log("<pipeline-ID>");
<pipeline-ID>
değerini DLT işlem hattının benzersiz tanımlayıcısıyla değiştirin. Kimliği DLT kullanıcı arabirimindeki İşlem Hattı ayrıntıları panelinde bulabilirsiniz.
İşlem hattı çalıştırmasının her örneğine güncelleştirmeadı verilir. Genellikle en son güncelleştirmeye ilişkin bilgileri ayıklamak istersiniz. En son güncelleştirmenin tanımlayıcısını bulmak ve geçici latest_update_id
görünüme kaydetmek için aşağıdaki sorguyu çalıştırın. Bu görünüm, bu makalede yer alan örnek olay günlüğü sorgularında kullanılır:
CREATE OR REPLACE TEMP VIEW latest_update AS SELECT origin.update_id AS id FROM event_log_raw WHERE event_type = 'create_update' ORDER BY timestamp DESC LIMIT 1;