diff --git a/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados.sql b/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados.sql index 0c3aa24c..e078c4c3 100644 --- a/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados.sql +++ b/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados.sql @@ -1,7 +1,7 @@ {{ config( alias='microdados', schema='br_anp_precos_combustiveis', - materialized='table', + materialized='incremental', partition_by={ "field": "ano", "data_type": "int64", @@ -11,9 +11,18 @@ "interval": 1} }, cluster_by = ["id_municipio", "sigla_uf"], - labels = {'project_id': 'basedosdados'}) -}} - + labels = {'project_id': 'basedosdados-dev'}, + pre_hook = "DROP ALL ROW ACCESS POLICIES ON {{ this }}", + post_hook = [ + 'CREATE OR REPLACE ROW ACCESS POLICY allusers_filter + ON {{this}} + GRANT TO ("allUsers") + FILTER USING (DATE_DIFF(CURRENT_DATE(),DATE(data_coleta), week) > 6)', + 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter + ON {{this}} + GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") + FILTER USING (EXTRACT(YEAR from data_coleta) = EXTRACT(YEAR from CURRENT_DATE()))'])}} +WITH anp AS ( SELECT SAFE_CAST(ano AS INT64) ano, SAFE_CAST(sigla_uf AS STRING) sigla_uf, @@ -29,5 +38,8 @@ INITCAP(produto) AS produto, SAFE_CAST(unidade_medida AS STRING) unidade_medida, SAFE_CAST(preco_compra AS FLOAT64) preco_compra, SAFE_CAST(preco_venda AS FLOAT64) preco_venda -FROM basedosdados-staging.br_anp_precos_combustiveis_staging.microdados AS t -WHERE DATE(data_coleta) <= DATE_SUB(CURRENT_DATE, INTERVAL 6 WEEK) +FROM basedosdados-staging.br_anp_precos_combustiveis_staging.microdados AS t) +SELECT * FROM anp +{% if is_incremental() %} +WHERE data_coleta> (SELECT MAX(data_coleta) FROM {{ this }}) +{% endif %} \ No newline at end of file diff --git a/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados_atualizado.sql b/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados_atualizado.sql deleted file mode 100644 index 8611e5f7..00000000 --- a/models/br_anp_precos_combustiveis/br_anp_precos_combustiveis__microdados_atualizado.sql +++ /dev/null @@ -1,34 +0,0 @@ -{{ config( - alias='microdados_atualizado', - schema='br_anp_precos_combustiveis', - materialized='table', - partition_by={ - "field": "ano", - "data_type": "int64", - "range": { - "start": 2004, - "end": 2023, - "interval": 1} - }, - cluster_by = ["id_municipio", "sigla_uf"], - labels = {'project_id': 'basedosdados'}, - post_hook = ['REVOKE `roles/bigquery.dataViewer` ON TABLE {{ this }} FROM "specialGroup:allUsers"', - 'GRANT `roles/bigquery.dataViewer` ON TABLE {{ this }} TO "group:bd-pro@basedosdados.org"']) -}} - -SELECT -SAFE_CAST(ano AS INT64) ano, -SAFE_CAST(sigla_uf AS STRING) sigla_uf, -SAFE_CAST(id_municipio AS STRING) id_municipio, -INITCAP(bairro_revenda) AS bairro_revenda, -SAFE_CAST(cep_revenda AS STRING) cep_revenda, -INITCAP(endereco_revenda) AS endereco_revenda, -REPLACE(REPLACE(REPLACE(cnpj_revenda, "/", ""), "-", ""), ".", "") AS cnpj_revenda, -INITCAP(nome_estabelecimento) AS nome_estabelecimento, -INITCAP(bandeira_revenda) AS bandeira_revenda, -SAFE_CAST(data_coleta AS DATE) data_coleta, -INITCAP(produto) AS produto, -SAFE_CAST(unidade_medida AS STRING) unidade_medida, -SAFE_CAST(preco_compra AS FLOAT64) preco_compra, -SAFE_CAST(preco_venda AS FLOAT64) preco_venda -FROM basedosdados-staging.br_anp_precos_combustiveis_staging.microdados AS t diff --git a/models/br_anp_precos_combustiveis/schema.yml b/models/br_anp_precos_combustiveis/schema.yml index 9164ab3e..8eadd743 100644 --- a/models/br_anp_precos_combustiveis/schema.yml +++ b/models/br_anp_precos_combustiveis/schema.yml @@ -32,35 +32,3 @@ models: description: Preço de venda da distribuidora para o posto revendedor de combustível - name: preco_venda description: Preço de venda ao consumidor final praticado pelo revendedor na data da coleta - - - name: br_anp_precos_combustiveis__microdados_atualizado - description: "Série Histórica de Preços de Combustíveis - a saber, gasolina, etanol, diesel s10, gasolina aditivada, glp, diesel e gnv - com base na pesquisa de preços da Agência Nacional do Petróleo, Gás Natural e Biocombustíveis realizada a partir da primeira semana de 2004 até os dias de hoje." - columns: - - name: ano - description: Ano - - name: sigla_uf - description: Sigla da Unidade Federativa da revenda pesquisada - - name: id_municipio - description: ID Município IBGE - 7 Dígitos - - name: bairro_revenda - description: Nome do bairro da revenda pesquisada - - name: cep_revenda - description: Número do Código do Endereço Postal (CEP) do logradouro da revenda pesquisada - - name: endereco_revenda - description: Endereço de revenda - - name: cnpj_revenda - description: Número do Cadastro Nacional de Pessoa Jurídica da revenda - - name: nome_estabelecimento - description: Nome do estabelecimento - - name: bandeira_revenda - description: Nome da Bandeira da revenda - - name: data_coleta - description: Data da coleta do preço - - name: produto - description: Nome do combustível - - name: unidade_medida - description: Unidade de medida - - name: preco_compra - description: Preço de venda da distribuidora para o posto revendedor de combustível - - name: preco_venda - description: Preço de venda ao consumidor final praticado pelo revendedor na data da coleta