From 974bf8f5432f903453448207e8551e8330413fb3 Mon Sep 17 00:00:00 2001 From: Guilherme Botelho Date: Wed, 7 Aug 2024 20:59:12 -0300 Subject: [PATCH] teste var fifteen_minutes --- .../br_rj_riodejaneiro_onibus_gps/flows.py | 6 ++++-- .../sppo_aux_registros_filtrada.sql | 12 +++++++++++- .../sppo_aux_registros_realocacao.sql | 9 +++++++++ .../gps_sppo_15_minutos.sql | 19 ++++++++++++------- 4 files changed, 36 insertions(+), 10 deletions(-) diff --git a/pipelines/migration/br_rj_riodejaneiro_onibus_gps/flows.py b/pipelines/migration/br_rj_riodejaneiro_onibus_gps/flows.py index 39cce2a1..9a5b9ef0 100644 --- a/pipelines/migration/br_rj_riodejaneiro_onibus_gps/flows.py +++ b/pipelines/migration/br_rj_riodejaneiro_onibus_gps/flows.py @@ -152,6 +152,7 @@ rematerialization = Parameter("rematerialization", default=False) date_range_start = Parameter("date_range_start", default=None) date_range_end = Parameter("date_range_end", default=None) + fifteen_minutes = Parameter("fifteen_minutes", default="") LABELS = get_current_flow_labels() MODE = get_current_flow_mode() @@ -205,7 +206,7 @@ table_id=table_id, upstream=True, exclude="+data_versao_efetiva", - _vars=[date_range, dataset_sha], + _vars=[date_range, dataset_sha, fifteen_minutes], flags="--full-refresh", ) @@ -215,7 +216,7 @@ dataset_id=dataset_id, table_id=table_id, exclude="+data_versao_efetiva", - _vars=[date_range, dataset_sha], + _vars=[date_range, dataset_sha, fifteen_minutes], upstream=True, ) @@ -549,6 +550,7 @@ "rebuild": rebuild, "materialize_delay_hours": 0, "truncate_minutes": False, + "fifteen_minutes": "_15_minutos", }, ) diff --git a/queries/models/br_rj_riodejaneiro_onibus_gps/sppo_aux_registros_filtrada.sql b/queries/models/br_rj_riodejaneiro_onibus_gps/sppo_aux_registros_filtrada.sql index 8ac8cff9..0344c561 100644 --- a/queries/models/br_rj_riodejaneiro_onibus_gps/sppo_aux_registros_filtrada.sql +++ b/queries/models/br_rj_riodejaneiro_onibus_gps/sppo_aux_registros_filtrada.sql @@ -1,3 +1,11 @@ +{% if var("fifteen_minutes") == "_15_minutos" %} +{{ + config( + materialized='ephemeral', + alias=this.name ~ var("fifteen_minutes") + ) +}} +{% else %} {{ config( materialized='incremental', @@ -8,6 +16,8 @@ } ) }} +{% endif %} + /* Descrição: Filtragem e tratamento básico de registros de gps. @@ -44,7 +54,7 @@ realocacao as ( FROM gps g LEFT JOIN - {{ ref('sppo_aux_registros_realocacao') }} r + {{ ref('sppo_aux_registros_realocacao') ~ var('fifteen_minutes')}} r ON g.ordem = r.id_veiculo and g.timestamp_gps = r.timestamp_gps diff --git a/queries/models/br_rj_riodejaneiro_onibus_gps/sppo_aux_registros_realocacao.sql b/queries/models/br_rj_riodejaneiro_onibus_gps/sppo_aux_registros_realocacao.sql index 9fa59556..d0b24fe7 100644 --- a/queries/models/br_rj_riodejaneiro_onibus_gps/sppo_aux_registros_realocacao.sql +++ b/queries/models/br_rj_riodejaneiro_onibus_gps/sppo_aux_registros_realocacao.sql @@ -1,3 +1,11 @@ +{% if var("fifteen_minutes") == "_15_minutos" %} +{{ + config( + materialized='ephemeral', + alias=this.name ~ var("fifteen_minutes") + ) +}} +{% else %} {{ config( materialized='incremental', @@ -8,6 +16,7 @@ } ) }} +{% endif %} -- 1. Filtra realocações válidas dentro do intervalo de GPS avaliado with realocacao as ( diff --git a/queries/models/br_rj_riodejaneiro_veiculos/gps_sppo_15_minutos.sql b/queries/models/br_rj_riodejaneiro_veiculos/gps_sppo_15_minutos.sql index 968da1bb..d8025a27 100644 --- a/queries/models/br_rj_riodejaneiro_veiculos/gps_sppo_15_minutos.sql +++ b/queries/models/br_rj_riodejaneiro_veiculos/gps_sppo_15_minutos.sql @@ -1,6 +1,7 @@ {{ config( materialized='table', + alias=this.name ~ "_dev", partition_by={ 'field':"data", 'data_type':'date', @@ -34,11 +35,13 @@ WITH linha, latitude, longitude, - FROM {{ ref('sppo_aux_registros_filtrada') }} + FROM {{ ref('sppo_aux_registros_filtrada') ~ var('fifteen_minutes') }} WHERE - data = DATE("{{var('date_range_end')}}") - AND timestamp_gps > DATETIME_SUB("{{var('date_range_end')}}", INTERVAL 75 MINUTE) - AND timestamp_gps <= "{{var('date_range_end')}}" + data between DATE("{{var('date_range_start')}}") and DATE("{{var('date_range_end')}}") + AND timestamp_gps > "{{var('date_range_start')}}" and timestamp_gps <="{{var('date_range_end')}}" + -- data = DATE("{{var('date_range_end')}}") + -- AND timestamp_gps > DATETIME_SUB("{{var('date_range_end')}}", INTERVAL 75 MINUTE) + -- AND timestamp_gps <= "{{var('date_range_end')}}" ), velocidades AS ( -- 2. velocidades @@ -133,6 +136,8 @@ ON AND r.timestamp_gps = p.timestamp_gps AND r.linha = p.linha WHERE - DATE(r.timestamp_gps) = DATE("{{var('date_range_end')}}") - AND r.timestamp_gps > DATETIME_SUB("{{var('date_range_end')}}", INTERVAL 75 MINUTE) - AND r.timestamp_gps <= "{{var('date_range_end')}}" + date(r.timestamp_gps) between DATE("{{var('date_range_start')}}") and DATE("{{var('date_range_end')}}") + AND r.timestamp_gps > "{{var('date_range_start')}}" and r.timestamp_gps <="{{var('date_range_end')}}" + -- DATE(r.timestamp_gps) = DATE("{{var('date_range_end')}}") + -- AND r.timestamp_gps > DATETIME_SUB("{{var('date_range_end')}}", INTERVAL 75 MINUTE) + -- AND r.timestamp_gps <= "{{var('date_range_end')}}"