Aracılığıyla paylaş


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_logtablo 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-7d84e9b2638bkimliğ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.table1tablosunu 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;