event_log
tablo değerli işlev
Şunlar için geçerlidir: Databricks SQL Databricks Runtime 13.3 LTS ve üzeri
Gerçekleştirilmiş görünümler, akış tabloları ve DLT işlem hatları için olay günlüğünü döndürür.
Delta Live Tables olay günlüğü hakkında daha fazla bilgi edinin.
Not
event_log
Tablo değerli işlev yalnızca akış tablosunun sahibi veya gerçekleştirilmiş görünüm tarafından çağrılabilir ve tablo değerli işlev üzerinde event_log
oluşturulan bir görünüm yalnızca akış tablosunun sahibi veya gerçekleştirilmiş görünüm tarafından sorgulanabilir. Görünüm diğer kullanıcılarla paylaşılamaz.
Söz dizimi
event_log( { TABLE ( table_name ) | pipeline_id } )
Bağımsız değişkenler
- table_name: Gerçekleştirilmiş bir görünümün veya akış tablosunun adı. Ad bir zamansal belirtim içermemelidir. Ad nitelenmiş değilse, tanımlayıcıyı nitelemek için geçerli katalog ve şema kullanılır.
pipeline_id
: Delta Live Tables işlem hattının dize tanımlayıcısı.
Döndürülenler
id STRING NOT NULL
: Olay günlüğü kaydı için benzersiz bir tanımlayıcı.sequence STRING NOT NULL
: Olayları tanımlamak ve sıralamak için meta verileri içeren bir JSON nesnesi.origin STRING NOT NULL
: Olayın kaynağı için meta verileri içeren bir JSON nesnesi, örneğin, bulut sağlayıcısı, bölge,user_id
veyapipeline_id
.timestamp TIMESTAMP NOT NULL
: Olayın UTC olarak kaydedilildiği saat.message STRING NOT NULL
: Olayı açıklayan, insan tarafından okunabilen bir ileti.level STRING NOT NULL
: Günlüğe kaydetme düzeyi; örneğin,INFO
,WARN
,ERROR
veyaMETRICS
.maturity_level STRING NOT NULL
: Olay şemasının kararlılığı. Olası değerler şunlardır:STABLE
: Şema kararlıdır ve değişmez.NULL
: Şema kararlıdır ve değişmez. Değer, kayıt alan eklenmedenmaturity_level
önce oluşturulduysa (NULL
sürüm 2022.37) olabilir.EVOLVING
: Şema kararlı değil ve değişebilir.DEPRECATED
: Şema kullanım dışıdır ve Delta Live Tables çalışma zamanı bu olayı üretmeyi istediği zaman durdurabilir.
error STRING
: Bir hata oluştuysa, hatayı açıklayan ayrıntılar.details STRING NOT NULL
: Olayın yapılandırılmış ayrıntılarını içeren bir JSON nesnesi. Bu, olayları çözümlemek için kullanılan birincil alandır.event_type STRING NOT NULL
: Olay türü.
Örnekler
Daha fazla örnek için olay günlüğünü sorgulama bölümüne bakın.
-- View the events on a materialized view
> SELECT timestamp, message, details
FROM event_log(table(my_mv))
WHERE level in ('INFO', 'WARN', 'ERROR')
ORDER BY timestamp;
timestamp, message, details
---------------------------
2023-08-12 01:03:05.000, 'Flow "my_mv" is STARTING.', '{"flow_progress":{"status":"STARTING"}}'
-- Create a temp view with the latest update to the table/pipeline
> CREATE OR REPLACE TEMP VIEW latest_update AS
SELECT origin.update_id AS id FROM event_log('<pipeline-ID>')
WHERE event_type = 'create_update' ORDER BY timestamp DESC LIMIT 1;
-- Query lineage information
> SELECT
details:flow_definition.output_dataset as output_dataset,
details:flow_definition.input_datasets as input_dataset
FROM
event_log('<pipeline-ID>'),
latest_update
WHERE
event_type = 'flow_definition' AND origin.update_id = latest_update.id;
output_dataset, input_dataset
-----------------------------
customers, null
sales_orders_raw, null
sales_orders_cleaned, ["customers", "sales_orders_raw"]
sales_order_in_la, ["sales_orders_cleaned"]
-- Query data quality expectation history for a streaming table
> WITH expectations_parsed AS (
SELECT
explode(
from_json(
details:flow_progress.data_quality.expectations,
"array<struct<name: string, dataset: string, passed_records: int, failed_records: int>>"
)
) row_expectations
FROM
event_log(table(my_st)),
latest_update
WHERE
event_type = 'flow_progress'
AND origin.update_id = latest_update.id
)
SELECT
row_expectations.dataset as dataset,
row_expectations.name as expectation,
SUM(row_expectations.passed_records) as passing_records,
SUM(row_expectations.failed_records) as failing_records
FROM expectations_parsed
GROUP BY
row_expectations.dataset,
row_expectations.name;
dataset, expectation, passing_records, failing_records
------------------------------------------------------
sales_orders_cleaned, valid_order_number, 4083, 0