Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:
Databricks SQL
Databricks Runtime 13.3 LTS ou posterior
Devolve o registo de eventos para vistas materializadas, tabelas de streaming e pipelines declarativos do Lakeflow Spark.
Saiba mais sobre o log de eventos do Lakeflow Spark Declarative Pipelines.
Note
Esta função aplica-se apenas a pipelines do Unity Catalog publicados usando o modo antigo de publicação. Para todos os outros pipelines, consulte diretamente a tabela de log de eventos.
A função com valor de tabela event_log pode ser chamada apenas pelo proprietário de uma tabela de streaming ou exibição materializada, e uma exibição criada sobre a função com valor de tabela event_log pode ser consultada somente pelo proprietário de uma tabela de streaming ou exibição materializada. A vista não pode ser partilhada com outros utilizadores.
Syntax
event_log( { TABLE ( table_name ) | pipeline_id } )
Arguments
- table_name: O nome de uma vista materializada ou tabela de streaming. O nome não deve incluir uma especificação temporal. Se o nome não estiver qualificado, o catálogo e o esquema atuais serão usados para qualificar o identificador.
-
pipeline_id: O identificador de cadeia de caracteres de um pipeline.
Returns
-
id STRING NOT NULL: Um identificador exclusivo para o registro de log de eventos. -
sequence STRING NOT NULL: Um objeto JSON contendo metadados para identificar e ordenar eventos. -
origin STRING NOT NULL: Um objeto JSON contendo metadados para a origem do evento, por exemplo, provedor de nuvem, regiãouser_idoupipeline_id. -
timestamp TIMESTAMP NOT NULL: A hora em que o evento foi gravado em UTC. -
message STRING NOT NULL: Uma mensagem legível por humanos descrevendo o evento. -
level STRING NOT NULL: O nível de registo, por exemplo,INFO,WARN,ERRORouMETRICS. -
maturity_level STRING NOT NULL: A estabilidade do esquema de eventos. Os valores possíveis são:-
STABLE: O esquema é estável e não será alterado. -
NULL: O esquema é estável e não será alterado. O valor pode serNULLse o registro foi criado antes domaturity_levelcampo ser adicionado (versão 2022.37). -
EVOLVING: O esquema não é estável e pode mudar. -
DEPRECATED: O esquema foi preterido e o tempo de execução do Lakeflow Spark Declarative Pipelines pode parar de produzir esse evento a qualquer momento.
-
-
error STRING: Se ocorreu um erro, detalhes descrevendo o erro. -
details STRING NOT NULL: Um objeto JSON contendo detalhes estruturados do evento. Este é o campo principal usado para analisar eventos. -
event_type STRING NOT NULL: O tipo de evento.
Examples
Para obter mais exemplos, consulte Log de eventos do pipeline.
-- 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