Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
tablo-değerli fonksiyon
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 13.3 LTS ve üzeri
Gerçekleştirilmiş görünümler, akış tabloları ve Lakeflow Spark Bildirimli İşlem Hatları için olay günlüğünü döndürür.
Lakeflow Spark Bildirimli İşlem Hatları olay günlüğü hakkında daha fazla bilgi edinin.
Note
Tablo değerli event_log işlevi yalnızca akış tablosunun veya gerçekleştirilmiş görünümün sahibi tarafından çağrılabilir ve tablo değerli event_log işlevi üzerinde oluşturulan bir görünüm yalnızca akış tablosunun sahibi veya gerçekleştirilmiş görünümün sahibi tarafından sorgulanabilir. Görünüm diğer kullanıcılarla paylaşılamaz.
Syntax
event_log( { TABLE ( table_name ) | pipeline_id } )
Arguments
- table_name: Gerçekleştirilmiş 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: İşlem hattının dize tanımlayıcısı.
Returns
-
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_idveyapipeline_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. Kayıt,NULLalanı eklenmeden önce oluşturulduysa (sürüm 2022.37), değermaturity_levelolabilir. -
EVOLVING: Şema kararlı değildir ve değişebilir. -
DEPRECATED: Şema kullanımdan kaldırılmıştır ve Lakeflow Spark Bildirimli İşlem Hatları çalışma zamanı bu olayı herhangi bir zamanda üretmeyi 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ü.
Examples
Daha fazla örnek için İşlem hattı olay günlüğü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