From 629aebbcc09ca2fd50a82b0da449840f8f681d87 Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Thu, 28 Sep 2023 14:18:09 -0300 Subject: [PATCH 01/31] [action] test_dbt_model --- .github/workflows/scripts/table_test.py | 253 ++++++++++++++++++++++++ .github/workflows/test_dbt_model.yaml | 46 +++++ 2 files changed, 299 insertions(+) create mode 100644 .github/workflows/scripts/table_test.py create mode 100644 .github/workflows/test_dbt_model.yaml diff --git a/.github/workflows/scripts/table_test.py b/.github/workflows/scripts/table_test.py new file mode 100644 index 00000000..fc8671e6 --- /dev/null +++ b/.github/workflows/scripts/table_test.py @@ -0,0 +1,253 @@ +from argparse import ArgumentParser +from pathlib import Path +import sys +from time import sleep +import traceback +import shutil +import re + +import basedosdados as bd +from basedosdados import Dataset, Storage + +from backend import Backend +from utils import expand_alls, get_datasets_tables_from_modified_files + + +def get_flow_run_state(flow_run_id: str, backend: Backend, auth_token: str): + query = """ + query ($flow_run_id: uuid!) { + flow_run_by_pk (id: $flow_run_id) { + state + } + } + """ + response = backend._execute_query( + query, + variables={"flow_run_id": flow_run_id}, + headers={"Authorization": f"Bearer {auth_token}"}, + ) + return response["flow_run_by_pk"]["state"] + +def get_flow_status_logs(flow_run_id: str, backend: Backend, auth_token: str): + query = """query ($flow_run_id: uuid!){ + log(where:{ + flow_run_id:{_eq:$flow_run_id}, + message:{_like:"%Done.%"}}){ + message + } + }""" + response = backend._execute_query( + query, + variables={"flow_run_id": flow_run_id}, + headers={"Authorization": f"Bearer {auth_token}"}, + ) + message = response['data']['log'][0]['message'] + result = {} + result['pass'] = int(re.findall("PASS=\d+", message)[0].split('=')[1]) + result['skip'] = int(re.findall("SKIP=\d+", message)[0].split('=')[1]) + result['warn'] = int(re.findall("WARN=\d+", message)[0].split('=')[1]) + + return result + + +def get_materialization_flow_id(backend: Backend, auth_token: str): + query = """ + query { + flow (where: { + name: { + _like: "BD template: Executa DBT model" + }, + archived: { + _eq: false + }, + project: { + name: {_eq: "main"} + } + }) { + id + } + } + """ + response = backend._execute_query( + query, headers={"Authorization": f"Bearer {auth_token}"} + ) + return response["flow"][0]["id"] + + +if __name__ == "__main__": + # Start argument parser + arg_parser = ArgumentParser() + + # Add GraphQL URL argument + arg_parser.add_argument( + "--graphql-url", + type=str, + required=True, + help="URL of the GraphQL endpoint.", + ) + + # Add list of modified files argument + arg_parser.add_argument( + "--modified-files", + type=str, + required=True, + help="List of modified files.", + ) + + + # Add Prefect backend URL argument + arg_parser.add_argument( + "--prefect-backend-url", + type=str, + required=False, + default="https://prefect.basedosdados.org/api", + help="Prefect backend URL.", + ) + + # Add prefect base URL argument + arg_parser.add_argument( + "--prefect-base-url", + type=str, + required=False, + default="https://prefect.basedosdados.org", + help="Prefect base URL.", + ) + + # Add Prefect API token argument + arg_parser.add_argument( + "--prefect-backend-token", + type=str, + required=True, + help="Prefect backend token.", + ) + + # Add materialization mode argument + arg_parser.add_argument( + "--materialization-mode", + type=str, + required=False, + default="dev", + help="Materialization mode.", + ) + + # Add materialization label argument + arg_parser.add_argument( + "--materialization-label", + type=str, + required=True, + help="Materialization label.", + ) + + # Add dbt command label argument + arg_parser.add_argument( + "--dbt-command", + type=str, + required=False, + default = "test", + help="Materialization label.", + ) + + # Get arguments + args = arg_parser.parse_args() + + # Get datasets and tables from modified files + modified_files = args.modified_files.split(",") + datasets_tables = get_datasets_tables_from_modified_files( + modified_files, show_details=True + ) + # Split deleted datasets and tables + deleted_datasets_tables = [] + existing_datasets_tables = [] + for dataset_id, table_id, exists, alias in datasets_tables: + if exists: + existing_datasets_tables.append((dataset_id, table_id, alias)) + else: + deleted_datasets_tables.append((dataset_id, table_id, alias)) + # Expand `__all__` tables + backend = Backend(args.graphql_url) + expanded_existing_datasets_tables = [] + for dataset_id, table_id, alias in existing_datasets_tables: + expanded_table_ids = expand_alls(dataset_id, table_id, backend) + for expanded_dataset_id, expanded_table_id in expanded_table_ids: + expanded_existing_datasets_tables.append( + (expanded_dataset_id, expanded_table_id, alias) + ) + existing_datasets_tables = expanded_existing_datasets_tables + + # Launch materialization flows + backend = Backend(args.prefect_backend_url) + flow_id = get_materialization_flow_id(backend, args.prefect_backend_token) + launched_flow_run_ids = [] + for dataset_id, table_id, alias in existing_datasets_tables: + print( + f"Launching materialization flow for {dataset_id}.{table_id} (alias={alias})..." + ) + parameters = { + "dataset_id": dataset_id, + "dbt_alias": alias, + "mode": args.materialization_mode, + "table_id": table_id, + "dbt_command": args.dbt_command + } + + mutation = """ + mutation ($flow_id: UUID, $parameters: JSON, $label: String!) { + create_flow_run (input: { + flow_id: $flow_id, + parameters: $parameters, + labels: [$label], + }) { + id + } + } + """ + variables = { + "flow_id": flow_id, + "parameters": parameters, + "label": args.materialization_label, + } + + response = backend._execute_query( + mutation, + variables, + headers={"Authorization": f"Bearer {args.prefect_backend_token}"}, + ) + + flow_run_id = response["create_flow_run"]["id"] + launched_flow_run_ids.append(flow_run_id) + flow_run_url = f"{args.prefect_base_url}/flow-run/{flow_run_id}" + print(f" - Materialization flow run launched: {flow_run_url}") + + # Keep monitoring the launched flow runs until they are finished + for launched_flow_run_id in launched_flow_run_ids: + print(f"Monitoring flow run {launched_flow_run_id}...") + flow_run_state = get_flow_run_state( + flow_run_id=launched_flow_run_id, + backend=backend, + auth_token=args.prefect_backend_token, + ) + while flow_run_state not in ["Success", "Failed", "Cancelled"]: + sleep(5) + flow_run_state = get_flow_run_state( + flow_run_id=launched_flow_run_id, + backend=backend, + auth_token=args.prefect_backend_token, + ) + if flow_run_state != "Success": + raise Exception( + f'Flow run {launched_flow_run_id} finished with state "{flow_run_state}". ' + f"Check the logs at {args.prefect_base_url}/flow-run/{launched_flow_run_id}" + ) + else: + test_results = get_flow_status_logs( + flow_run_id=launched_flow_run_id, + backend=backend, + auth_token=args.prefect_backend_token, + ) + + if test_results['warn'] > 1: + print(f"Test got {test_results['warn']} warns") + + else: + print(f"{test_results['pass']} tests passed") + print(f"{test_results['skip']} tests skiped") diff --git a/.github/workflows/test_dbt_model.yaml b/.github/workflows/test_dbt_model.yaml new file mode 100644 index 00000000..d09c759c --- /dev/null +++ b/.github/workflows/test_dbt_model.yaml @@ -0,0 +1,46 @@ +name: Test DBT model + +on: + pull_request: + types: [labeled, opened] + branches: + - master + paths: + - 'models/**' + - '.github/workflows/test_dbt_model.yaml' + +jobs: + sync-dbt-schema: + if: contains(github.event.pull_request.labels.*.name, 'test-dev-model') + name: Test DBT dev model + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: ${{ github.head_ref }} + + - name: Get all changed files using a comma separator + id: changed-files + uses: tj-actions/changed-files@v35 + with: + separator: ',' + + - name: Setup Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements-actions.txt + + - name: Run script for syncing DBT schema + run: | + python .github/workflows/scripts/table_test.py --modified-files ${{ steps.changed-files.outputs.all_modified_files }} --graphql-url ${{ secrets.BACKEND_GRAPHQL_URL }} + + - name: Commit changed files + uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: 'Update metadata' From 875cac693f542f9eb061b6d6cd94ee81dd03a1c6 Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Thu, 28 Sep 2023 14:32:26 -0300 Subject: [PATCH 02/31] raise Exception when fails --- .github/workflows/scripts/table_test.py | 7 +++++-- .github/workflows/test_dbt_model.yaml | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/scripts/table_test.py b/.github/workflows/scripts/table_test.py index fc8671e6..41a50ff9 100644 --- a/.github/workflows/scripts/table_test.py +++ b/.github/workflows/scripts/table_test.py @@ -245,8 +245,11 @@ def get_materialization_flow_id(backend: Backend, auth_token: str): auth_token=args.prefect_backend_token, ) - if test_results['warn'] > 1: - print(f"Test got {test_results['warn']} warns") + if test_results['warn'] > 0: + raise Exception( + f"Test got {test_results['warn']} warns" + f"Check the logs at {args.prefect_base_url}/flow-run/{launched_flow_run_id}" + ) else: print(f"{test_results['pass']} tests passed") diff --git a/.github/workflows/test_dbt_model.yaml b/.github/workflows/test_dbt_model.yaml index d09c759c..2c27951e 100644 --- a/.github/workflows/test_dbt_model.yaml +++ b/.github/workflows/test_dbt_model.yaml @@ -10,7 +10,7 @@ on: - '.github/workflows/test_dbt_model.yaml' jobs: - sync-dbt-schema: + test_dbt_model: if: contains(github.event.pull_request.labels.*.name, 'test-dev-model') name: Test DBT dev model runs-on: ubuntu-latest From 5f38367435f71acff864655a7928ec0a98a79b28 Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Thu, 28 Sep 2023 15:05:23 -0300 Subject: [PATCH 03/31] include model to test action --- .../{taxa_cambio.sql => br_bcb_taxa_cambio__diaria.sql} | 1 + models/br_bcb_taxa_cambio/schema.yaml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) rename models/br_bcb_taxa_cambio/{taxa_cambio.sql => br_bcb_taxa_cambio__diaria.sql} (96%) diff --git a/models/br_bcb_taxa_cambio/taxa_cambio.sql b/models/br_bcb_taxa_cambio/br_bcb_taxa_cambio__diaria.sql similarity index 96% rename from models/br_bcb_taxa_cambio/taxa_cambio.sql rename to models/br_bcb_taxa_cambio/br_bcb_taxa_cambio__diaria.sql index 02e5341e..78090276 100644 --- a/models/br_bcb_taxa_cambio/taxa_cambio.sql +++ b/models/br_bcb_taxa_cambio/br_bcb_taxa_cambio__diaria.sql @@ -1,5 +1,6 @@ {{ config( + alias = 'diaria', schema='br_bcb_taxa_cambio', materialized='table', labels = {'tema': 'economia'}) diff --git a/models/br_bcb_taxa_cambio/schema.yaml b/models/br_bcb_taxa_cambio/schema.yaml index bab5acc9..1c8c40da 100644 --- a/models/br_bcb_taxa_cambio/schema.yaml +++ b/models/br_bcb_taxa_cambio/schema.yaml @@ -1,7 +1,7 @@ version: 2 models: - - name: taxa_cambio + - name: br_bcb_taxa_cambio__diaria description: Boletins diários com a Paridade de Compra e a Paridade de Venda, a Cotação de Compra e a Cotação de Venda. São cinco boletins para cada data, um de abertura, três intermediários e um de fechamento. columns: - name: ano From 76583151e0d97cee9fead4c5a92cbafe890a5e86 Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Thu, 28 Sep 2023 15:12:54 -0300 Subject: [PATCH 04/31] include required arguments --- .github/workflows/scripts/table_test.py | 3 ++- .github/workflows/test_dbt_model.yaml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/scripts/table_test.py b/.github/workflows/scripts/table_test.py index 41a50ff9..7c520612 100644 --- a/.github/workflows/scripts/table_test.py +++ b/.github/workflows/scripts/table_test.py @@ -134,7 +134,8 @@ def get_materialization_flow_id(backend: Backend, auth_token: str): arg_parser.add_argument( "--materialization-label", type=str, - required=True, + required=False, + default="basedosdados-dev", help="Materialization label.", ) diff --git a/.github/workflows/test_dbt_model.yaml b/.github/workflows/test_dbt_model.yaml index 2c27951e..5a04febb 100644 --- a/.github/workflows/test_dbt_model.yaml +++ b/.github/workflows/test_dbt_model.yaml @@ -36,9 +36,9 @@ jobs: python -m pip install --upgrade pip pip install -r requirements-actions.txt - - name: Run script for syncing DBT schema + - name: Run script to test DBT model run: | - python .github/workflows/scripts/table_test.py --modified-files ${{ steps.changed-files.outputs.all_modified_files }} --graphql-url ${{ secrets.BACKEND_GRAPHQL_URL }} + python .github/workflows/scripts/table_test.py --modified-files ${{ steps.changed-files.outputs.all_modified_files }} --graphql-url ${{ secrets.BACKEND_GRAPHQL_URL }} --prefect-backend-token ${{ secrets.PREFECT_BACKEND_TOKEN }} - name: Commit changed files uses: stefanzweifel/git-auto-commit-action@v4 From c32131f6d3e828a255a3488421dab4ed6703b27b Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Thu, 28 Sep 2023 15:21:02 -0300 Subject: [PATCH 05/31] minor_fix --- .github/workflows/scripts/table_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scripts/table_test.py b/.github/workflows/scripts/table_test.py index 7c520612..be56896d 100644 --- a/.github/workflows/scripts/table_test.py +++ b/.github/workflows/scripts/table_test.py @@ -41,7 +41,7 @@ def get_flow_status_logs(flow_run_id: str, backend: Backend, auth_token: str): variables={"flow_run_id": flow_run_id}, headers={"Authorization": f"Bearer {auth_token}"}, ) - message = response['data']['log'][0]['message'] + message = response['log'][0]['message'] result = {} result['pass'] = int(re.findall("PASS=\d+", message)[0].split('=')[1]) result['skip'] = int(re.findall("SKIP=\d+", message)[0].split('=')[1]) From bff58852863cf9074813f8d361f1df28c2bacaeb Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Thu, 28 Sep 2023 15:23:17 -0300 Subject: [PATCH 06/31] remove commit changed files --- .github/workflows/test_dbt_model.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/test_dbt_model.yaml b/.github/workflows/test_dbt_model.yaml index 5a04febb..a421976f 100644 --- a/.github/workflows/test_dbt_model.yaml +++ b/.github/workflows/test_dbt_model.yaml @@ -39,8 +39,3 @@ jobs: - name: Run script to test DBT model run: | python .github/workflows/scripts/table_test.py --modified-files ${{ steps.changed-files.outputs.all_modified_files }} --graphql-url ${{ secrets.BACKEND_GRAPHQL_URL }} --prefect-backend-token ${{ secrets.PREFECT_BACKEND_TOKEN }} - - - name: Commit changed files - uses: stefanzweifel/git-auto-commit-action@v4 - with: - commit_message: 'Update metadata' From 1a6287b305823c5567457c6ec2c608ab7f5dd272 Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Thu, 28 Sep 2023 17:27:58 -0300 Subject: [PATCH 07/31] prettier logs --- .github/workflows/scripts/table_test.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/scripts/table_test.py b/.github/workflows/scripts/table_test.py index be56896d..b65dad1e 100644 --- a/.github/workflows/scripts/table_test.py +++ b/.github/workflows/scripts/table_test.py @@ -248,10 +248,11 @@ def get_materialization_flow_id(backend: Backend, auth_token: str): if test_results['warn'] > 0: raise Exception( - f"Test got {test_results['warn']} warns" + f"Test got {test_results['warn']} warns\n" f"Check the logs at {args.prefect_base_url}/flow-run/{launched_flow_run_id}" ) else: + print("Congrats! Everything seems fine!") print(f"{test_results['pass']} tests passed") print(f"{test_results['skip']} tests skiped") From ba1edeab33b51bfc863878e41c762d05547d873b Mon Sep 17 00:00:00 2001 From: folhesgabriel Date: Fri, 20 Oct 2023 13:51:18 -0300 Subject: [PATCH 08/31] Insere modelos dbt e schema --- ...acao__energia_armazenada_reservatorio.sql} | 13 +++++ ...ao_operacao__energia_natural_afluente.sql} | 17 ++++-- ...acao__geracao_termica_motivo_despacho.sql} | 12 ++++ ...ons_avaliacao_operacao__geracao_usina.sql} | 12 ++++ ..._ons_avaliacao_operacao__reservatorio.sql} | 5 ++ ...cao__restricao_operacao_usinas_eolicas.sql | 31 ++++++++++ models/br_ons_avaliacao_operacao/schema.yml | 40 ++++++++++++- ...a_custos__balanco_energia_subsistemas.sql} | 7 +++ ...s__balanco_energia_subsistemas_dessem.sql} | 7 +++ ...stos__custo_marginal_operacao_semanal.sql} | 6 ++ ..._custo_marginal_operacao_semi_horario.sql} | 7 +++ ...usto_variavel_unitario_usinas_termicas.sql | 19 +++++++ models/br_ons_estimativa_custos/schema.yml | 56 ++++++++++++++++--- 13 files changed, 219 insertions(+), 13 deletions(-) rename models/br_ons_avaliacao_operacao/{energia_armazenada_reservatorio.sql => br_ons_avaliacao_operacao__energia_armazenada_reservatorio.sql} (90%) rename models/br_ons_avaliacao_operacao/{energia_natural_afluente.sql => br_ons_avaliacao_operacao__energia_natural_afluente.sql} (80%) rename models/br_ons_avaliacao_operacao/{geracao_termica_motivo_despacho.sql => br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql} (91%) rename models/br_ons_avaliacao_operacao/{geracao_usina.sql => br_ons_avaliacao_operacao__geracao_usina.sql} (72%) rename models/br_ons_avaliacao_operacao/{reservatorio.sql => br_ons_avaliacao_operacao__reservatorio.sql} (93%) create mode 100644 models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql rename models/br_ons_estimativa_custos/{balanco_energia_subsistemas.sql => br_ons_estimativa_custos__balanco_energia_subsistemas.sql} (81%) rename models/br_ons_estimativa_custos/{balanco_energia_subsistemas_dessem.sql => br_ons_estimativa_custos__balanco_energia_subsistemas_dessem.sql} (84%) rename models/br_ons_estimativa_custos/{custo_marginal_operacao_semanal.sql => br_ons_estimativa_custos__custo_marginal_operacao_semanal.sql} (80%) rename models/br_ons_estimativa_custos/{custo_marginal_operacao_semi_horario.sql => br_ons_estimativa_custos__custo_marginal_operacao_semi_horario.sql} (66%) create mode 100644 models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql diff --git a/models/br_ons_avaliacao_operacao/energia_armazenada_reservatorio.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_armazenada_reservatorio.sql similarity index 90% rename from models/br_ons_avaliacao_operacao/energia_armazenada_reservatorio.sql rename to models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_armazenada_reservatorio.sql index bff72252..8b18de80 100644 --- a/models/br_ons_avaliacao_operacao/energia_armazenada_reservatorio.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_armazenada_reservatorio.sql @@ -1,3 +1,16 @@ +{{ config( + alias='energia_armazenada_reservatorio', + schema='br_ons_avaliacao_operacao', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2000, + "end": 2024, + "interval": 1} + }) +}} + SELECT SAFE_CAST(data AS DATE) data, SAFE_CAST(ano AS INT64) ano, diff --git a/models/br_ons_avaliacao_operacao/energia_natural_afluente.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_natural_afluente.sql similarity index 80% rename from models/br_ons_avaliacao_operacao/energia_natural_afluente.sql rename to models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_natural_afluente.sql index c8ddaadb..6dc27c2b 100644 --- a/models/br_ons_avaliacao_operacao/energia_natural_afluente.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_natural_afluente.sql @@ -1,6 +1,15 @@ -{{config( - labels = {'project_id': 'basedosdados', 'tema': 'infraestrutura'}) - }} +{{ config( + alias='energia_natural_afluente', + schema='br_ons_avaliacao_operacao', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2000, + "end": 2024, + "interval": 1} + }) +}} SELECT SAFE_CAST(data AS DATE) data, SAFE_CAST(ano AS INT64) ano, @@ -18,4 +27,4 @@ SAFE_CAST(energia_natural_afluente_longo_termo AS FLOAT64) energia_natural_aflue SAFE_CAST(energia_natural_afluente_queda AS FLOAT64) energia_natural_afluente_queda, SAFE_CAST(proporcao_energia_natural_afluente_bruta AS FLOAT64) proporcao_energia_natural_afluente_bruta, SAFE_CAST(proporcao_energia_natural_afluente_armazenavel AS FLOAT64) proporcao_energia_natural_afluente_armazenavel -FROM basedosdados-staging.br_ons_avaliacao_operacao_staging.energia_natural_afluente AS t +FROM basedosdados-staging.br_ons_avaliacao_operacao_staging.energia_natural_afluente AS t \ No newline at end of file diff --git a/models/br_ons_avaliacao_operacao/geracao_termica_motivo_despacho.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql similarity index 91% rename from models/br_ons_avaliacao_operacao/geracao_termica_motivo_despacho.sql rename to models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql index 454435f0..83687e87 100644 --- a/models/br_ons_avaliacao_operacao/geracao_termica_motivo_despacho.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql @@ -1,3 +1,15 @@ +{{ config( + alias='geracao_termica_motivo_despacho', + schema='br_ons_avaliacao_operacao', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2013, + "end": 2024, + "interval": 1} + }) +}} SELECT SAFE_CAST(data AS DATE) data, SAFE_CAST(hora AS TIME) hora, diff --git a/models/br_ons_avaliacao_operacao/geracao_usina.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_usina.sql similarity index 72% rename from models/br_ons_avaliacao_operacao/geracao_usina.sql rename to models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_usina.sql index 718b715b..7161fa3a 100644 --- a/models/br_ons_avaliacao_operacao/geracao_usina.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_usina.sql @@ -1,3 +1,15 @@ +{{ config( + alias='geracao_usina', + schema='br_ons_avaliacao_operacao', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2000, + "end": 2024, + "interval": 1} + }) +}} SELECT SAFE_CAST(data AS DATE) data, SAFE_CAST(hora AS TIME) hora, diff --git a/models/br_ons_avaliacao_operacao/reservatorio.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__reservatorio.sql similarity index 93% rename from models/br_ons_avaliacao_operacao/reservatorio.sql rename to models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__reservatorio.sql index bc8a09c5..39a33ec1 100644 --- a/models/br_ons_avaliacao_operacao/reservatorio.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__reservatorio.sql @@ -1,3 +1,8 @@ +{{ config( + alias='reservatorio', + schema='br_ons_avaliacao_operacao') +}} + SELECT SAFE_CAST(data AS DATE) data, SAFE_CAST(id_subsistema AS STRING) id_subsistema, diff --git a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql new file mode 100644 index 00000000..dadb5506 --- /dev/null +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql @@ -0,0 +1,31 @@ +{{ config( + alias='restricao_operacao_usinas_eolicas', + schema='br_ons_avaliacao_operacao', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2021, + "end": 2024, + "interval": 1} + }) +}} +SELECT +SAFE_CAST(data AS DATE) data, +SAFE_CAST(hora AS TIME) hora, +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(mes AS INT64) mes, +SAFE_CAST(sigla_uf AS STRING) sigla_uf, +SAFE_CAST(id_subsistema AS STRING) id_subsistema, +SAFE_CAST(subsistema AS STRING) subsistema, +SAFE_CAST(id_ons AS STRING) id_ons, +SAFE_CAST(id_empreendimento_aneel AS STRING) id_empreendimento_aneel, +SAFE_CAST(usina AS STRING) usina, +SAFE_CAST(tipo_razao_restricao AS STRING) tipo_razao_restricao, +SAFE_CAST(tipo_origem_restricao AS STRING) tipo_origem_restricao, +SAFE_CAST(geracao AS FLOAT64) geracao, +SAFE_CAST(geracao_limitada AS FLOAT64) geracao_limitada, +SAFE_CAST(disponibilidade AS FLOAT64) disponibilidade, +SAFE_CAST(geracao_referencia AS FLOAT64) geracao_referencia, +SAFE_CAST(geracao_referencia_final AS FLOAT64) geracao_referencia_final +FROM basedosdados-staging.br_ons_avaliacao_operacao_staging.restricao_operacao_usinas_eolicas AS t \ No newline at end of file diff --git a/models/br_ons_avaliacao_operacao/schema.yml b/models/br_ons_avaliacao_operacao/schema.yml index 6080550b..c0855d45 100644 --- a/models/br_ons_avaliacao_operacao/schema.yml +++ b/models/br_ons_avaliacao_operacao/schema.yml @@ -2,7 +2,7 @@ version: 2 models: - name: reservatorio - description: Dados cadastrais dos reservatórios + description: Dados cadastrais dos reservatórios. columns: - name: data description: Data de entrada em operação do reservatório @@ -292,4 +292,40 @@ models: - name: proporcao_contribuicao_energia_armazenada_maxima_sin description: Percentual da contribuição do reservatório para a Energia Armazenada (EAR) máxima do Sistema Interligado Nacional (SIN) - + - name: restricao_operacao_usinas_eolicas + description: Informações associadas à apuração das restrições de operação por Constrained-off nas usinas eólicas classificadas nas modalidades Tipo I, Tipo II-B e Tipo II-C + columns: + - name: data + description: Data de referência da medição + - name: hora + description: Hora de referência da medição + - name: ano + description: Ano de refêrencia da medição + - name: mes + description: Mês de referência da medição + - name: sigla_uf + description: Sigla da unidade da federação da usina + - name: id_subsistema + description: Identificador do subsistema da usina + - name: subsistema + description: Nome do subsistema da usina + - name: id_ons + description: Identificador da usina ou conjunto do Operador Nacional do Sistema Elétrico (ONS) + - name: id_empreendimento_aneel + description: Identificador único do empreendimento de geração da Agência Nacional de Energia Elétrica (ANEEL) + - name: usina + description: Nome da usina + - name: tipo_razao_restricao + description: Código do tipo de razão da restrição + - name: tipo_origem_restricao + description: Código do tipo de origem da restrição + - name: geracao + description: Valor da geração de energia + - name: geracao_limitada + description: Valor da geração limitada por alguma restrição + - name: disponibilidade + description: Valor da disponibilidade verificada no tempo real + - name: geracao_referencia + description: Valor da geração de referência (ou estimada) + - name: geracao_referencia_final + description: Valor da geração de referência final diff --git a/models/br_ons_estimativa_custos/balanco_energia_subsistemas.sql b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__balanco_energia_subsistemas.sql similarity index 81% rename from models/br_ons_estimativa_custos/balanco_energia_subsistemas.sql rename to models/br_ons_estimativa_custos/br_ons_estimativa_custos__balanco_energia_subsistemas.sql index 082ac18c..151bc938 100644 --- a/models/br_ons_estimativa_custos/balanco_energia_subsistemas.sql +++ b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__balanco_energia_subsistemas.sql @@ -1,6 +1,13 @@ +{{ config( + alias='balanco_energia_subsistemas', + schema='br_ons_estimativa_custos') +}} + SELECT SAFE_CAST(data AS DATE) data, SAFE_CAST(hora AS TIME) hora, +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(mes AS INT64) mes, SAFE_CAST(id_subsistema AS STRING) id_subsistema, SAFE_CAST(subsistema AS STRING) subsistema, SAFE_CAST(geracao_hidraulica_verificada AS FLOAT64) geracao_hidraulica_verificada, diff --git a/models/br_ons_estimativa_custos/balanco_energia_subsistemas_dessem.sql b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__balanco_energia_subsistemas_dessem.sql similarity index 84% rename from models/br_ons_estimativa_custos/balanco_energia_subsistemas_dessem.sql rename to models/br_ons_estimativa_custos/br_ons_estimativa_custos__balanco_energia_subsistemas_dessem.sql index 8e9d239b..b5a626d0 100644 --- a/models/br_ons_estimativa_custos/balanco_energia_subsistemas_dessem.sql +++ b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__balanco_energia_subsistemas_dessem.sql @@ -1,6 +1,13 @@ +{{ config( + alias='balanco_energia_subsistemas_dessem', + schema='br_ons_estimativa_custos') +}} + SELECT SAFE_CAST(data AS DATE) data, SAFE_CAST(hora AS TIME) hora, +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(mes AS INT64) mes, SAFE_CAST(id_subsistema AS STRING) id_subsistema, SAFE_CAST(subsistema AS STRING) subsistema, SAFE_CAST(valor_demanda AS FLOAT64) valor_demanda, diff --git a/models/br_ons_estimativa_custos/custo_marginal_operacao_semanal.sql b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_marginal_operacao_semanal.sql similarity index 80% rename from models/br_ons_estimativa_custos/custo_marginal_operacao_semanal.sql rename to models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_marginal_operacao_semanal.sql index 36087cf0..eb351320 100644 --- a/models/br_ons_estimativa_custos/custo_marginal_operacao_semanal.sql +++ b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_marginal_operacao_semanal.sql @@ -1,5 +1,11 @@ +{{ config( + alias='custo_marginal_operacao_semanal', + schema='br_ons_estimativa_custos') +}} SELECT SAFE_CAST(data AS DATE) data, +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(mes AS INT64) mes, SAFE_CAST(id_subsistema AS STRING) id_subsistema, SAFE_CAST(subsistema AS STRING) subsistema, SAFE_CAST(custo_marginal_operacao_semanal AS FLOAT64) custo_marginal_operacao_semanal, diff --git a/models/br_ons_estimativa_custos/custo_marginal_operacao_semi_horario.sql b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_marginal_operacao_semi_horario.sql similarity index 66% rename from models/br_ons_estimativa_custos/custo_marginal_operacao_semi_horario.sql rename to models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_marginal_operacao_semi_horario.sql index 82b43278..807560ae 100644 --- a/models/br_ons_estimativa_custos/custo_marginal_operacao_semi_horario.sql +++ b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_marginal_operacao_semi_horario.sql @@ -1,6 +1,13 @@ +{{ config( + alias='custo_marginal_operacao_semi_horario', + schema='br_ons_estimativa_custos') +}} + SELECT SAFE_CAST(data AS DATE) data, SAFE_CAST(hora AS TIME) hora, +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(mes AS INT64) mes, SAFE_CAST(id_subsistema AS STRING) id_subsistema, SAFE_CAST(subsistema AS STRING) subsistema, SAFE_CAST(custo_marginal_operacao AS FLOAT64) custo_marginal_operacao diff --git a/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql new file mode 100644 index 00000000..a3e58098 --- /dev/null +++ b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql @@ -0,0 +1,19 @@ +{{ config( + alias='custo_variavel_unitario_usinas_termicas', + schema='br_ons_estimativa_custos') +}} +SELECT +SAFE_CAST(data_inicio AS DATE) data_inicio, +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(mes AS INT64) mes, +SAFE_CAST(data_fim AS DATE) data_fim, +SAFE_CAST(ano AS INT64) ano_pmo, +SAFE_CAST(mes AS INT64) mes_pmo, +SAFE_CAST(numero_revisao AS INT64) numero_revisao, +SAFE_CAST(semana_operativa AS STRING) semana_operativa, +SAFE_CAST(id_modelo_usina AS STRING) id_modelo_usina, +SAFE_CAST(id_subsistema AS STRING) id_subsistema, +SAFE_CAST(subsistema AS STRING) subsistema, +SAFE_CAST(usina AS STRING) usina, +SAFE_CAST(custo_variavel_unitario AS FLOAT64) custo_variavel_unitario +FROM basedosdados-staging.br_ons_estimativa_custos_staging.custo_variavel_unitario_usinas_termicas AS t \ No newline at end of file diff --git a/models/br_ons_estimativa_custos/schema.yml b/models/br_ons_estimativa_custos/schema.yml index e25fe88e..d6d16838 100644 --- a/models/br_ons_estimativa_custos/schema.yml +++ b/models/br_ons_estimativa_custos/schema.yml @@ -8,6 +8,10 @@ models: description: Data de referência da medição - name: hora description: Hora de referência da medição + - name: ano + description: Ano de referência da medição + - name: mes + description: Mês de referência da medição - name: id_subsistema description: Identificador do subsitema da usina - name: subsistema @@ -19,6 +23,10 @@ models: columns: - name: data description: Data de referência da medição + - name: ano + description: Ano de referência da medição + - name: mes + description: Mês de referência da medição - name: id_subsistema description: Identificador do subsitema da usina - name: subsistema @@ -26,14 +34,11 @@ models: - name: custo_marginal_operacao_semanal description: Valor do Custo Marginal Operacional (CMO) médio semanal - name: custo_marginal_operacao_semanal_carga_leve - description: Valor do Custo Marginal Operacional (CMO) no patamar de carga - leve + description: Valor do Custo Marginal Operacional (CMO) no patamar de carga leve - name: custo_marginal_operacao_semanal_carga_media - description: Valor do Custo Marginal Operacional (CMO) no patamar de carga - média + description: Valor do Custo Marginal Operacional (CMO) no patamar de carga média - name: custo_marginal_operacao_semanal_carga_pesada - description: Valor do Custo Marginal Operacional (CMO) no patamar de carga - pesada + description: Valor do Custo Marginal Operacional (CMO) no patamar de carga pesada - name: balanco_energia_subsistemas description: Informações da carga e oferta de energia verificados em periodicidade horária por subsistema. A oferta é representada pelos valores de geração das usinas hidráulicas, térmicas, eólicas e fotovoltaicas. columns: @@ -41,6 +46,10 @@ models: description: Data de referência da medição - name: hora description: Hora de referência da medição + - name: ano + description: Ano de referência da medição + - name: mes + description: Mês de referência da medição - name: id_subsistema description: Identificador do subsitema da usina - name: subsistema @@ -64,6 +73,10 @@ models: description: Data de referência da medição - name: hora description: Hora de referência da medição + - name: ano + description: Ano de referência da medição + - name: mes + description: Mês de referência da medição - name: id_subsistema description: Identificador do subsitema da usina - name: subsistema @@ -81,4 +94,33 @@ models: - name: geracao_eolica_verificada description: Valor verificado de geração eólica - name: geracao_fotovoltaica_verificada - description: Valor verificado de geração fotovoltaica \ No newline at end of file + description: Valor verificado de geração fotovoltaica + - name: custo_variavel_unitario_usinas_termicas + description: Custo Variável Unitário (CVU) de usinas térmicas considerado no Programa Mensal da Operação, conforme utilizado na execução do modelo DECOMP + columns: + - name: data_inicio + description: Data de início da semana operativa + - name: ano + description: Ano de início da semana operativa + - name: mes + description: Mês de início da semana operativa + - name: data_fim + description: Data de fim da semana operativa + - name: ano_pmo + description: Ano de Referência do Programa Mensal de Operação (PMO) + - name: mes_pmo + description: Mês de referência do PMO + - name: numero_revisao + description: Número da revisão PMO + - name: semana_operativa + description: Nome do estudo da semana operativa + - name: id_modelo_usina + description: Código da usina nos modelos de planejamento + - name: id_subsistema + description: Identificador do subsistema da usina + - name: subsistema + description: Nome do subsistema da usina + - name: usina + description: Nome da usina + - name: custo_variavel_unitario + description: Valor do Custo Variável Unitário (CVU) \ No newline at end of file From d3a927cfe513cce4f7757eb4a228bf648e6bc21b Mon Sep 17 00:00:00 2001 From: folhesgabriel Date: Mon, 23 Oct 2023 10:06:04 -0300 Subject: [PATCH 09/31] adiciona modelos incrementais --- ...racao__geracao_termica_motivo_despacho.sql | 11 +++++++++- ..._ons_avaliacao_operacao__geracao_usina.sql | 10 +++++++++- ...cao__restricao_operacao_usinas_eolicas.sql | 10 +++++++++- ...usto_variavel_unitario_usinas_termicas.sql | 20 +++++++++++++++++-- 4 files changed, 46 insertions(+), 5 deletions(-) diff --git a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql index 83687e87..20c03698 100644 --- a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql @@ -1,6 +1,7 @@ {{ config( alias='geracao_termica_motivo_despacho', schema='br_ons_avaliacao_operacao', + materialized = 'incremental', partition_by={ "field": "ano", "data_type": "int64", @@ -10,6 +11,8 @@ "interval": 1} }) }} + +WITH ons as ( SELECT SAFE_CAST(data AS DATE) data, SAFE_CAST(hora AS TIME) hora, @@ -46,4 +49,10 @@ SAFE_CAST(geracao_reserva_potencia_verificada AS FLOAT64) geracao_reserva_potenc SAFE_CAST(geracao_substituicao_verificada AS FLOAT64) geracao_substituicao_verificada, SAFE_CAST(geracao_unit_commitment_verificada AS FLOAT64) geracao_unit_commitment_verificada, SAFE_CAST(geracao_constrained_off_verificada AS FLOAT64) geracao_constrained_off_verificada -FROM basedosdados-staging.br_ons_avaliacao_operacao_staging.geracao_termica_motivo_despacho AS t \ No newline at end of file +FROM basedosdados-staging.br_ons_avaliacao_operacao_staging.geracao_termica_motivo_despacho AS t +) +SELECT * +FROM ons +{% if is_incremental() %} +WHERE data > (SELECT max(data) FROM {{ this }} ) +{% endif %} \ No newline at end of file diff --git a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_usina.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_usina.sql index 7161fa3a..57faf14d 100644 --- a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_usina.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_usina.sql @@ -1,6 +1,7 @@ {{ config( alias='geracao_usina', schema='br_ons_avaliacao_operacao', + materialized = 'incremental', partition_by={ "field": "ano", "data_type": "int64", @@ -10,6 +11,7 @@ "interval": 1} }) }} +WITH ons as ( SELECT SAFE_CAST(data AS DATE) data, SAFE_CAST(hora AS TIME) hora, @@ -24,4 +26,10 @@ SAFE_CAST(tipo_usina AS STRING) tipo_usina, SAFE_CAST(tipo_modalidade_operacao AS STRING) tipo_modalidade_operacao, SAFE_CAST(tipo_combustivel AS STRING) tipo_combustivel, SAFE_CAST(geracao AS FLOAT64) geracao -FROM basedosdados-staging.br_ons_avaliacao_operacao_staging.geracao_usina AS t \ No newline at end of file +FROM basedosdados-staging.br_ons_avaliacao_operacao_staging.geracao_usina AS t +) +SELECT * +FROM ons +{% if is_incremental() %} +WHERE data > (SELECT max(data) FROM {{ this }} ) +{% endif %} \ No newline at end of file diff --git a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql index dadb5506..baf4e86a 100644 --- a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql @@ -1,6 +1,7 @@ {{ config( alias='restricao_operacao_usinas_eolicas', schema='br_ons_avaliacao_operacao', + materialized = 'incremental', partition_by={ "field": "ano", "data_type": "int64", @@ -10,6 +11,7 @@ "interval": 1} }) }} +WITH ons as ( SELECT SAFE_CAST(data AS DATE) data, SAFE_CAST(hora AS TIME) hora, @@ -28,4 +30,10 @@ SAFE_CAST(geracao_limitada AS FLOAT64) geracao_limitada, SAFE_CAST(disponibilidade AS FLOAT64) disponibilidade, SAFE_CAST(geracao_referencia AS FLOAT64) geracao_referencia, SAFE_CAST(geracao_referencia_final AS FLOAT64) geracao_referencia_final -FROM basedosdados-staging.br_ons_avaliacao_operacao_staging.restricao_operacao_usinas_eolicas AS t \ No newline at end of file +FROM basedosdados-staging.br_ons_avaliacao_operacao_staging.restricao_operacao_usinas_eolicas AS t +) +SELECT * +FROM ons +{% if is_incremental() %} +WHERE data > (SELECT max(data) FROM {{ this }} ) +{% endif %} \ No newline at end of file diff --git a/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql index a3e58098..29fd2740 100644 --- a/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql +++ b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql @@ -1,7 +1,17 @@ {{ config( alias='custo_variavel_unitario_usinas_termicas', - schema='br_ons_estimativa_custos') + schema='br_ons_estimativa_custos', + materialized = 'incremental', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2019, + "end": 2024, + "interval": 1} + }) }} +WITH ons as ( SELECT SAFE_CAST(data_inicio AS DATE) data_inicio, SAFE_CAST(ano AS INT64) ano, @@ -16,4 +26,10 @@ SAFE_CAST(id_subsistema AS STRING) id_subsistema, SAFE_CAST(subsistema AS STRING) subsistema, SAFE_CAST(usina AS STRING) usina, SAFE_CAST(custo_variavel_unitario AS FLOAT64) custo_variavel_unitario -FROM basedosdados-staging.br_ons_estimativa_custos_staging.custo_variavel_unitario_usinas_termicas AS t \ No newline at end of file +FROM basedosdados-staging.br_ons_estimativa_custos_staging.custo_variavel_unitario_usinas_termicas AS t +) +SELECT * +FROM ons +{% if is_incremental() %} +WHERE data_inicio > (SELECT max(data_inicio) FROM {{ this }} ) +{% endif %} \ No newline at end of file From 221fb782e99d2269b7fb27d9a2a06263ce9ae30e Mon Sep 17 00:00:00 2001 From: folhesgabriel Date: Mon, 23 Oct 2023 12:53:36 -0300 Subject: [PATCH 10/31] insere conjunto no nome das tabelas em schema.yml --- models/br_ons_avaliacao_operacao/schema.yml | 14 +++++++------- models/br_ons_estimativa_custos/schema.yml | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/models/br_ons_avaliacao_operacao/schema.yml b/models/br_ons_avaliacao_operacao/schema.yml index c0855d45..bdbe19d2 100644 --- a/models/br_ons_avaliacao_operacao/schema.yml +++ b/models/br_ons_avaliacao_operacao/schema.yml @@ -1,7 +1,7 @@ version: 2 models: - - name: reservatorio + - name: br_ons_avaliacao_operacao__reservatorio description: Dados cadastrais dos reservatórios. columns: - name: data @@ -57,7 +57,7 @@ models: description: Latitude do reservatório - name: longitude description: Longitude do reservatório - - name: geracao_usina + - name: br_ons_avaliacao_operacao__geracao_usina description: Geração verificada de usinas, conjuntos de usinas e grupos de pequenas usinas em base horária. Os Conjuntos são formados por usinas classificadas na modalidade Tipo II-C, conforme Submódulo 7.2 dos Procedimentos de Rede e são estabelecidos em Ajustamentos Operativos, disponíveis no MPO. Os grupos de pequenas usinas são formados por usinas Tipo III, que não possuem relacionamento com o ONS, e os dados são referentes a previsões de geração. columns: - name: data @@ -87,7 +87,7 @@ models: description: Tipo de combustível utilizado pela usina - name: geracao description: Geração de Energia - - name: geracao_termica_motivo_despacho + - name: br_ons_avaliacao_operacao__geracao_termica_motivo_despacho description: Dados programados e verificados de geração de usinas térmicas despachadas pelo ONS por motivo de despacho em base horária. columns: - name: data @@ -188,11 +188,11 @@ models: - name: geracao_constrained_off_verificada description: Restrição verificada de geração em usina despachada por ordem de mérito. - - name: energia_natural_afluente + - name: br_ons_avaliacao_operacao__energia_natural_afluente description: Dados das grandezas de energia natural afluente (ENA) com periodicidade diária por Reservatório. A Energia Natural Afluente (ENA) Bruta representa a energia produzível pela usina e é calculada pelo produto das vazões naturais aos reservatórios com as produtividades a 65% dos volumes úteis. A ENA Armazenável considera as vazões naturais descontadas das vazões vertidas nos reservatórios. columns: - name: data - description: 'Data ' + description: Data - name: ano description: Ano - name: mes @@ -225,7 +225,7 @@ models: - name: proporcao_energia_natural_afluente_armazenavel description: Valor de Energia Natural Afluente (ENA) armazenável, em % da média de longo termo (MLT) - - name: energia_armazenada_reservatorio + - name: br_ons_avaliacao_operacao__energia_armazenada_reservatorio description: Dados das grandezas de energia armazenada (EAR) em periodicidade diária por Reservatórios. A Energia Armazenada (EAR) representa a energia associada ao volume de água disponível nos reservatórios que pode ser convertido em geração na própria usina e em todas as usinas à jusante na cascata. A grandeza de EAR leva em conta nível verificado nos reservatórios na data de referência. A grandeza de EAR máxima representa a capacidade de armazenamento caso todos os reservatórios do sistema estivessem cheios. A grandeza de EAR para o subsistema à jusante considera a utilização da água do reservatório para produzir energia em uma usina à jusante que está em um subsistema diferente. columns: - name: data @@ -292,7 +292,7 @@ models: - name: proporcao_contribuicao_energia_armazenada_maxima_sin description: Percentual da contribuição do reservatório para a Energia Armazenada (EAR) máxima do Sistema Interligado Nacional (SIN) - - name: restricao_operacao_usinas_eolicas + - name: br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas description: Informações associadas à apuração das restrições de operação por Constrained-off nas usinas eólicas classificadas nas modalidades Tipo I, Tipo II-B e Tipo II-C columns: - name: data diff --git a/models/br_ons_estimativa_custos/schema.yml b/models/br_ons_estimativa_custos/schema.yml index d6d16838..09d623f2 100644 --- a/models/br_ons_estimativa_custos/schema.yml +++ b/models/br_ons_estimativa_custos/schema.yml @@ -1,7 +1,7 @@ version: 2 models: - - name: custo_marginal_operacao_semi_horario + - name: br_ons_estimativa_custos__custo_marginal_operacao_semi_horario description: Valores do custo, por unidade de energia produzida, para atender ao incremento de uma unidade de carga no SIN, chamado de Custo Marginal de Operação – CMO. Este CMO é estimado pelo modelo DESSEM para cada barra do sistema em base semi-horária. O CMO do subsistema é obtido pelo média dos CMOs nas barras de cada subsistema, ponderados pelas respectivas cargas, considerando que um aumento de carga no subsistema se dá de maneira uniforme nas barras que a ele pertencem. columns: - name: data @@ -18,7 +18,7 @@ models: description: Nome do subsistema da usina - name: custo_marginal_operacao description: Valor do Custo Marginal de Operação (CMO) - - name: custo_marginal_operacao_semanal + - name: br_ons_estimativa_custos__custo_marginal_operacao_semanal description: Valores do custo, por unidade de energia produzida, para atender ao incremento de uma unidade de carga no SIN, chamado de Custo Marginal de Operação – CMO. Valores para cada semana operativa por subsistema, e por patamar de carga, além da média semanal, estimados pelo modelo Decomp. columns: - name: data @@ -39,7 +39,7 @@ models: description: Valor do Custo Marginal Operacional (CMO) no patamar de carga média - name: custo_marginal_operacao_semanal_carga_pesada description: Valor do Custo Marginal Operacional (CMO) no patamar de carga pesada - - name: balanco_energia_subsistemas + - name: br_ons_estimativa_custos__balanco_energia_subsistemas description: Informações da carga e oferta de energia verificados em periodicidade horária por subsistema. A oferta é representada pelos valores de geração das usinas hidráulicas, térmicas, eólicas e fotovoltaicas. columns: - name: data @@ -66,7 +66,7 @@ models: description: Valor verificado da carga - name: intercambio_verificado description: Valor verificado do intercâmbio líquido - - name: balanco_energia_subsistemas_dessem + - name: br_ons_estimativa_custos__balanco_energia_subsistemas_dessem description: Informação da programação eletro energética, resultante do modelo DESSEM, da demanda de energia e geração por fontes previstas para um dia de referência em periodicidade semi-horária no subsistema. columns: - name: data @@ -95,7 +95,7 @@ models: description: Valor verificado de geração eólica - name: geracao_fotovoltaica_verificada description: Valor verificado de geração fotovoltaica - - name: custo_variavel_unitario_usinas_termicas + - name: br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas description: Custo Variável Unitário (CVU) de usinas térmicas considerado no Programa Mensal da Operação, conforme utilizado na execução do modelo DECOMP columns: - name: data_inicio From 7ce183fd0adca7537813b8956bb6f8aef7301ebc Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Tue, 24 Oct 2023 17:40:07 -0300 Subject: [PATCH 11/31] fix message --- .github/workflows/scripts/table_test.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/scripts/table_test.py b/.github/workflows/scripts/table_test.py index b65dad1e..5828cae4 100644 --- a/.github/workflows/scripts/table_test.py +++ b/.github/workflows/scripts/table_test.py @@ -41,7 +41,8 @@ def get_flow_status_logs(flow_run_id: str, backend: Backend, auth_token: str): variables={"flow_run_id": flow_run_id}, headers={"Authorization": f"Bearer {auth_token}"}, ) - message = response['log'][0]['message'] + print(response) + message = response['log']['message'] result = {} result['pass'] = int(re.findall("PASS=\d+", message)[0].split('=')[1]) result['skip'] = int(re.findall("SKIP=\d+", message)[0].split('=')[1]) From f53450631d49c78659a026e832d69e7023122eff Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Tue, 24 Oct 2023 17:52:40 -0300 Subject: [PATCH 12/31] fix branch to main --- .github/workflows/test_dbt_model.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_dbt_model.yaml b/.github/workflows/test_dbt_model.yaml index a421976f..6072de07 100644 --- a/.github/workflows/test_dbt_model.yaml +++ b/.github/workflows/test_dbt_model.yaml @@ -4,7 +4,7 @@ on: pull_request: types: [labeled, opened] branches: - - master + - main paths: - 'models/**' - '.github/workflows/test_dbt_model.yaml' From 4e888cc88b4bfac933d5d8aefa3501ff022dd39d Mon Sep 17 00:00:00 2001 From: Luiza Vilela Campos Date: Wed, 25 Oct 2023 11:22:01 -0300 Subject: [PATCH 13/31] adding files --- .../br_ibge_pnadc__dicionario.sql | 16 + ..._ibge_pnadc__rendimentos_outras_fontes.sql | 309 +++++++++ models/br_ibge_pnadc/schema.yaml | 607 +++++++++++++++++- 3 files changed, 931 insertions(+), 1 deletion(-) create mode 100644 models/br_ibge_pnadc/br_ibge_pnadc__dicionario.sql create mode 100644 models/br_ibge_pnadc/br_ibge_pnadc__rendimentos_outras_fontes.sql diff --git a/models/br_ibge_pnadc/br_ibge_pnadc__dicionario.sql b/models/br_ibge_pnadc/br_ibge_pnadc__dicionario.sql new file mode 100644 index 00000000..21d8b97b --- /dev/null +++ b/models/br_ibge_pnadc/br_ibge_pnadc__dicionario.sql @@ -0,0 +1,16 @@ +{{ + config( + alias = 'dicionario', + schema='br_ibge_pnadc', + materialized='table', + ) +}} + + +SELECT +SAFE_CAST(id_tabela AS STRING) id_tabela, +SAFE_CAST(nome_coluna AS STRING) nome_coluna, +SAFE_CAST(chave AS STRING) chave, +SAFE_CAST(cobertura_temporal AS STRING) cobertura_temporal, +SAFE_CAST(valor AS STRING) valor +FROM basedosdados-staging.br_ibge_pnadc_staging.dicionario AS t \ No newline at end of file diff --git a/models/br_ibge_pnadc/br_ibge_pnadc__rendimentos_outras_fontes.sql b/models/br_ibge_pnadc/br_ibge_pnadc__rendimentos_outras_fontes.sql new file mode 100644 index 00000000..f066198d --- /dev/null +++ b/models/br_ibge_pnadc/br_ibge_pnadc__rendimentos_outras_fontes.sql @@ -0,0 +1,309 @@ +{{ config( + alias='rendimentos_outras_fontes', + schema='br_ibge_pnadc', + materialized='table', + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { + "start": 2012, + "end": 2025, + "interval": 1} + }, + cluster_by = "sigla_uf") +}} +SELECT +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(trimestre AS INT64) trimestre, +SAFE_CAST(id_uf AS STRING) id_uf, +SAFE_CAST(sigla_uf AS STRING) sigla_uf, +SAFE_CAST(capital AS STRING) capital, +SAFE_CAST(rm_ride AS STRING) rm_ride, +SAFE_CAST(id_upa AS STRING) id_upa, +SAFE_CAST(id_estrato AS STRING) id_estrato, +SAFE_CAST(id_domicilio AS STRING) id_domicilio, +SAFE_CAST(id_pessoa AS STRING) id_pessoa, +SAFE_CAST(V1008 AS STRING) V1008, +SAFE_CAST(V1014 AS STRING) V1014, +SAFE_CAST(V1022 AS STRING) V1022, +SAFE_CAST(V1023 AS STRING) V1023, +SAFE_CAST(V1030 AS INT64) V1030, +SAFE_CAST(V1031 AS FLOAT64) V1031, +SAFE_CAST(V1032 AS FLOAT64) V1032, +SAFE_CAST(V1034 AS INT64) V1034, +SAFE_CAST(posest AS STRING) posest, +SAFE_CAST(posest_sxi AS STRING) posest_sxi, +SAFE_CAST(V2001 AS INT64) V2001, +SAFE_CAST(V2003 AS INT64) V2003, +SAFE_CAST(V5001 AS STRING) V5001, +SAFE_CAST(V50011 AS STRING) V50011, +SAFE_CAST(V500111 AS FLOAT64) V500111, +SAFE_CAST(V5002 AS STRING) V5002, +SAFE_CAST(V50021 AS STRING) V50021, +SAFE_CAST(V500211 AS FLOAT64) V500211, +SAFE_CAST(V5003 AS STRING) V5003, +SAFE_CAST(V50031 AS STRING) V50031, +SAFE_CAST(V500311 AS FLOAT64) V500311, +SAFE_CAST(V5004 AS STRING) V5004, +SAFE_CAST(V50041 AS STRING) V50041, +SAFE_CAST(V500411 AS FLOAT64) V500411, +SAFE_CAST(V5005 AS STRING) V5005, +SAFE_CAST(V50051 AS STRING) V50051, +SAFE_CAST(V500511 AS FLOAT64) V500511, +SAFE_CAST(V5006 AS STRING) V5006, +SAFE_CAST(V50061 AS STRING) V50061, +SAFE_CAST(V500611 AS FLOAT64) V500611, +SAFE_CAST(V5007 AS STRING) V5007, +SAFE_CAST(V50071 AS STRING) V50071, +SAFE_CAST(V500711 AS FLOAT64) V500711, +SAFE_CAST(V5008 AS STRING) V5008, +SAFE_CAST(V50081 AS STRING) V50081, +SAFE_CAST(V500811 AS FLOAT64) V500811, +SAFE_CAST(V5009 AS STRING) V5009, +SAFE_CAST(V50091 AS STRING) V50091, +SAFE_CAST(V500911 AS FLOAT64) V500911, +SAFE_CAST(V5010 AS STRING) V5010, +SAFE_CAST(V50101 AS STRING) V50101, +SAFE_CAST(V501011 AS FLOAT64) V501011, +SAFE_CAST(V5011 AS STRING) V5011, +SAFE_CAST(V50111 AS STRING) V50111, +SAFE_CAST(V501111 AS FLOAT64) V501111, +SAFE_CAST(V5012 AS STRING) V5012, +SAFE_CAST(V50121 AS STRING) V50121, +SAFE_CAST(V501211 AS FLOAT64) V501211, +SAFE_CAST(V5013 AS STRING) V5013, +SAFE_CAST(V50131 AS STRING) V50131, +SAFE_CAST(V501311 AS FLOAT64) V501311, +SAFE_CAST(V5001A AS STRING) V5001A, +SAFE_CAST(V5001A2 AS FLOAT64) V5001A2, +SAFE_CAST(V5002A AS STRING) V5002A, +SAFE_CAST(V5002A2 AS FLOAT64) V5002A2, +SAFE_CAST(V5003A AS STRING) V5003A, +SAFE_CAST(V5003A2 AS FLOAT64) V5003A2, +SAFE_CAST(V5004A AS STRING) V5004A, +SAFE_CAST(V5004A2 AS FLOAT64) V5004A2, +SAFE_CAST(V5005A AS STRING) V5005A, +SAFE_CAST(V5005A2 AS FLOAT64) V5005A2, +SAFE_CAST(V5006A AS STRING) V5006A, +SAFE_CAST(V5006A2 AS FLOAT64) V5006A2, +SAFE_CAST(V5007A AS STRING) V5007A, +SAFE_CAST(V5007A2 AS FLOAT64) V5007A2, +SAFE_CAST(V5008A AS STRING) V5008A, +SAFE_CAST(V5008A2 AS FLOAT64) V5008A2, +SAFE_CAST(VD4046 AS FLOAT64) VD4046, +SAFE_CAST(VD4047 AS FLOAT64) VD4047, +SAFE_CAST(VD4048 AS FLOAT64) VD4048, +SAFE_CAST(VD4052 AS FLOAT64) VD4052, +SAFE_CAST(VD5001 AS FLOAT64) VD5001, +SAFE_CAST(VD5002 AS FLOAT64) VD5002, +SAFE_CAST(VD5003 AS STRING) VD5003, +SAFE_CAST(VD5004 AS FLOAT64) VD5004, +SAFE_CAST(VD5005 AS FLOAT64) VD5005, +SAFE_CAST(VD5006 AS STRING) VD5006, +SAFE_CAST(VD5007 AS FLOAT64) VD5007, +SAFE_CAST(VD5008 AS FLOAT64) VD5008, +SAFE_CAST(VD5009 AS STRING) VD5009, +SAFE_CAST(VD5010 AS FLOAT64) VD5010, +SAFE_CAST(VD5011 AS FLOAT64) VD5011, +SAFE_CAST(VD5012 AS STRING) VD5012, +SAFE_CAST(V1032001 AS FLOAT64) V1032001, +SAFE_CAST(V1032002 AS FLOAT64) V1032002, +SAFE_CAST(V1032003 AS FLOAT64) V1032003, +SAFE_CAST(V1032004 AS FLOAT64) V1032004, +SAFE_CAST(V1032005 AS FLOAT64) V1032005, +SAFE_CAST(V1032006 AS FLOAT64) V1032006, +SAFE_CAST(V1032007 AS FLOAT64) V1032007, +SAFE_CAST(V1032008 AS FLOAT64) V1032008, +SAFE_CAST(V1032009 AS FLOAT64) V1032009, +SAFE_CAST(V1032010 AS FLOAT64) V1032010, +SAFE_CAST(V1032011 AS FLOAT64) V1032011, +SAFE_CAST(V1032012 AS FLOAT64) V1032012, +SAFE_CAST(V1032013 AS FLOAT64) V1032013, +SAFE_CAST(V1032014 AS FLOAT64) V1032014, +SAFE_CAST(V1032015 AS FLOAT64) V1032015, +SAFE_CAST(V1032016 AS FLOAT64) V1032016, +SAFE_CAST(V1032017 AS FLOAT64) V1032017, +SAFE_CAST(V1032018 AS FLOAT64) V1032018, +SAFE_CAST(V1032019 AS FLOAT64) V1032019, +SAFE_CAST(V1032020 AS FLOAT64) V1032020, +SAFE_CAST(V1032021 AS FLOAT64) V1032021, +SAFE_CAST(V1032022 AS FLOAT64) V1032022, +SAFE_CAST(V1032023 AS FLOAT64) V1032023, +SAFE_CAST(V1032024 AS FLOAT64) V1032024, +SAFE_CAST(V1032025 AS FLOAT64) V1032025, +SAFE_CAST(V1032026 AS FLOAT64) V1032026, +SAFE_CAST(V1032027 AS FLOAT64) V1032027, +SAFE_CAST(V1032028 AS FLOAT64) V1032028, +SAFE_CAST(V1032029 AS FLOAT64) V1032029, +SAFE_CAST(V1032030 AS FLOAT64) V1032030, +SAFE_CAST(V1032031 AS FLOAT64) V1032031, +SAFE_CAST(V1032032 AS FLOAT64) V1032032, +SAFE_CAST(V1032033 AS FLOAT64) V1032033, +SAFE_CAST(V1032034 AS FLOAT64) V1032034, +SAFE_CAST(V1032035 AS FLOAT64) V1032035, +SAFE_CAST(V1032036 AS FLOAT64) V1032036, +SAFE_CAST(V1032037 AS FLOAT64) V1032037, +SAFE_CAST(V1032038 AS FLOAT64) V1032038, +SAFE_CAST(V1032039 AS FLOAT64) V1032039, +SAFE_CAST(V1032040 AS FLOAT64) V1032040, +SAFE_CAST(V1032041 AS FLOAT64) V1032041, +SAFE_CAST(V1032042 AS FLOAT64) V1032042, +SAFE_CAST(V1032043 AS FLOAT64) V1032043, +SAFE_CAST(V1032044 AS FLOAT64) V1032044, +SAFE_CAST(V1032045 AS FLOAT64) V1032045, +SAFE_CAST(V1032046 AS FLOAT64) V1032046, +SAFE_CAST(V1032047 AS FLOAT64) V1032047, +SAFE_CAST(V1032048 AS FLOAT64) V1032048, +SAFE_CAST(V1032049 AS FLOAT64) V1032049, +SAFE_CAST(V1032050 AS FLOAT64) V1032050, +SAFE_CAST(V1032051 AS FLOAT64) V1032051, +SAFE_CAST(V1032052 AS FLOAT64) V1032052, +SAFE_CAST(V1032053 AS FLOAT64) V1032053, +SAFE_CAST(V1032054 AS FLOAT64) V1032054, +SAFE_CAST(V1032055 AS FLOAT64) V1032055, +SAFE_CAST(V1032056 AS FLOAT64) V1032056, +SAFE_CAST(V1032057 AS FLOAT64) V1032057, +SAFE_CAST(V1032058 AS FLOAT64) V1032058, +SAFE_CAST(V1032059 AS FLOAT64) V1032059, +SAFE_CAST(V1032060 AS FLOAT64) V1032060, +SAFE_CAST(V1032061 AS FLOAT64) V1032061, +SAFE_CAST(V1032062 AS FLOAT64) V1032062, +SAFE_CAST(V1032063 AS FLOAT64) V1032063, +SAFE_CAST(V1032064 AS FLOAT64) V1032064, +SAFE_CAST(V1032065 AS FLOAT64) V1032065, +SAFE_CAST(V1032066 AS FLOAT64) V1032066, +SAFE_CAST(V1032067 AS FLOAT64) V1032067, +SAFE_CAST(V1032068 AS FLOAT64) V1032068, +SAFE_CAST(V1032069 AS FLOAT64) V1032069, +SAFE_CAST(V1032070 AS FLOAT64) V1032070, +SAFE_CAST(V1032071 AS FLOAT64) V1032071, +SAFE_CAST(V1032072 AS FLOAT64) V1032072, +SAFE_CAST(V1032073 AS FLOAT64) V1032073, +SAFE_CAST(V1032074 AS FLOAT64) V1032074, +SAFE_CAST(V1032075 AS FLOAT64) V1032075, +SAFE_CAST(V1032076 AS FLOAT64) V1032076, +SAFE_CAST(V1032077 AS FLOAT64) V1032077, +SAFE_CAST(V1032078 AS FLOAT64) V1032078, +SAFE_CAST(V1032079 AS FLOAT64) V1032079, +SAFE_CAST(V1032080 AS FLOAT64) V1032080, +SAFE_CAST(V1032081 AS FLOAT64) V1032081, +SAFE_CAST(V1032082 AS FLOAT64) V1032082, +SAFE_CAST(V1032083 AS FLOAT64) V1032083, +SAFE_CAST(V1032084 AS FLOAT64) V1032084, +SAFE_CAST(V1032085 AS FLOAT64) V1032085, +SAFE_CAST(V1032086 AS FLOAT64) V1032086, +SAFE_CAST(V1032087 AS FLOAT64) V1032087, +SAFE_CAST(V1032088 AS FLOAT64) V1032088, +SAFE_CAST(V1032089 AS FLOAT64) V1032089, +SAFE_CAST(V1032090 AS FLOAT64) V1032090, +SAFE_CAST(V1032091 AS FLOAT64) V1032091, +SAFE_CAST(V1032092 AS FLOAT64) V1032092, +SAFE_CAST(V1032093 AS FLOAT64) V1032093, +SAFE_CAST(V1032094 AS FLOAT64) V1032094, +SAFE_CAST(V1032095 AS FLOAT64) V1032095, +SAFE_CAST(V1032096 AS FLOAT64) V1032096, +SAFE_CAST(V1032097 AS FLOAT64) V1032097, +SAFE_CAST(V1032098 AS FLOAT64) V1032098, +SAFE_CAST(V1032099 AS FLOAT64) V1032099, +SAFE_CAST(V1032100 AS FLOAT64) V1032100, +SAFE_CAST(V1032101 AS FLOAT64) V1032101, +SAFE_CAST(V1032102 AS FLOAT64) V1032102, +SAFE_CAST(V1032103 AS FLOAT64) V1032103, +SAFE_CAST(V1032104 AS FLOAT64) V1032104, +SAFE_CAST(V1032105 AS FLOAT64) V1032105, +SAFE_CAST(V1032106 AS FLOAT64) V1032106, +SAFE_CAST(V1032107 AS FLOAT64) V1032107, +SAFE_CAST(V1032108 AS FLOAT64) V1032108, +SAFE_CAST(V1032109 AS FLOAT64) V1032109, +SAFE_CAST(V1032110 AS FLOAT64) V1032110, +SAFE_CAST(V1032111 AS FLOAT64) V1032111, +SAFE_CAST(V1032112 AS FLOAT64) V1032112, +SAFE_CAST(V1032113 AS FLOAT64) V1032113, +SAFE_CAST(V1032114 AS FLOAT64) V1032114, +SAFE_CAST(V1032115 AS FLOAT64) V1032115, +SAFE_CAST(V1032116 AS FLOAT64) V1032116, +SAFE_CAST(V1032117 AS FLOAT64) V1032117, +SAFE_CAST(V1032118 AS FLOAT64) V1032118, +SAFE_CAST(V1032119 AS FLOAT64) V1032119, +SAFE_CAST(V1032120 AS FLOAT64) V1032120, +SAFE_CAST(V1032121 AS FLOAT64) V1032121, +SAFE_CAST(V1032122 AS FLOAT64) V1032122, +SAFE_CAST(V1032123 AS FLOAT64) V1032123, +SAFE_CAST(V1032124 AS FLOAT64) V1032124, +SAFE_CAST(V1032125 AS FLOAT64) V1032125, +SAFE_CAST(V1032126 AS FLOAT64) V1032126, +SAFE_CAST(V1032127 AS FLOAT64) V1032127, +SAFE_CAST(V1032128 AS FLOAT64) V1032128, +SAFE_CAST(V1032129 AS FLOAT64) V1032129, +SAFE_CAST(V1032130 AS FLOAT64) V1032130, +SAFE_CAST(V1032131 AS FLOAT64) V1032131, +SAFE_CAST(V1032132 AS FLOAT64) V1032132, +SAFE_CAST(V1032133 AS FLOAT64) V1032133, +SAFE_CAST(V1032134 AS FLOAT64) V1032134, +SAFE_CAST(V1032135 AS FLOAT64) V1032135, +SAFE_CAST(V1032136 AS FLOAT64) V1032136, +SAFE_CAST(V1032137 AS FLOAT64) V1032137, +SAFE_CAST(V1032138 AS FLOAT64) V1032138, +SAFE_CAST(V1032139 AS FLOAT64) V1032139, +SAFE_CAST(V1032140 AS FLOAT64) V1032140, +SAFE_CAST(V1032141 AS FLOAT64) V1032141, +SAFE_CAST(V1032142 AS FLOAT64) V1032142, +SAFE_CAST(V1032143 AS FLOAT64) V1032143, +SAFE_CAST(V1032144 AS FLOAT64) V1032144, +SAFE_CAST(V1032145 AS FLOAT64) V1032145, +SAFE_CAST(V1032146 AS FLOAT64) V1032146, +SAFE_CAST(V1032147 AS FLOAT64) V1032147, +SAFE_CAST(V1032148 AS FLOAT64) V1032148, +SAFE_CAST(V1032149 AS FLOAT64) V1032149, +SAFE_CAST(V1032150 AS FLOAT64) V1032150, +SAFE_CAST(V1032151 AS FLOAT64) V1032151, +SAFE_CAST(V1032152 AS FLOAT64) V1032152, +SAFE_CAST(V1032153 AS FLOAT64) V1032153, +SAFE_CAST(V1032154 AS FLOAT64) V1032154, +SAFE_CAST(V1032155 AS FLOAT64) V1032155, +SAFE_CAST(V1032156 AS FLOAT64) V1032156, +SAFE_CAST(V1032157 AS FLOAT64) V1032157, +SAFE_CAST(V1032158 AS FLOAT64) V1032158, +SAFE_CAST(V1032159 AS FLOAT64) V1032159, +SAFE_CAST(V1032160 AS FLOAT64) V1032160, +SAFE_CAST(V1032161 AS FLOAT64) V1032161, +SAFE_CAST(V1032162 AS FLOAT64) V1032162, +SAFE_CAST(V1032163 AS FLOAT64) V1032163, +SAFE_CAST(V1032164 AS FLOAT64) V1032164, +SAFE_CAST(V1032165 AS FLOAT64) V1032165, +SAFE_CAST(V1032166 AS FLOAT64) V1032166, +SAFE_CAST(V1032167 AS FLOAT64) V1032167, +SAFE_CAST(V1032168 AS FLOAT64) V1032168, +SAFE_CAST(V1032169 AS FLOAT64) V1032169, +SAFE_CAST(V1032170 AS FLOAT64) V1032170, +SAFE_CAST(V1032171 AS FLOAT64) V1032171, +SAFE_CAST(V1032172 AS FLOAT64) V1032172, +SAFE_CAST(V1032173 AS FLOAT64) V1032173, +SAFE_CAST(V1032174 AS FLOAT64) V1032174, +SAFE_CAST(V1032175 AS FLOAT64) V1032175, +SAFE_CAST(V1032176 AS FLOAT64) V1032176, +SAFE_CAST(V1032177 AS FLOAT64) V1032177, +SAFE_CAST(V1032178 AS FLOAT64) V1032178, +SAFE_CAST(V1032179 AS FLOAT64) V1032179, +SAFE_CAST(V1032180 AS FLOAT64) V1032180, +SAFE_CAST(V1032181 AS FLOAT64) V1032181, +SAFE_CAST(V1032182 AS FLOAT64) V1032182, +SAFE_CAST(V1032183 AS FLOAT64) V1032183, +SAFE_CAST(V1032184 AS FLOAT64) V1032184, +SAFE_CAST(V1032185 AS FLOAT64) V1032185, +SAFE_CAST(V1032186 AS FLOAT64) V1032186, +SAFE_CAST(V1032187 AS FLOAT64) V1032187, +SAFE_CAST(V1032188 AS FLOAT64) V1032188, +SAFE_CAST(V1032189 AS FLOAT64) V1032189, +SAFE_CAST(V1032190 AS FLOAT64) V1032190, +SAFE_CAST(V1032191 AS FLOAT64) V1032191, +SAFE_CAST(V1032192 AS FLOAT64) V1032192, +SAFE_CAST(V1032193 AS FLOAT64) V1032193, +SAFE_CAST(V1032194 AS FLOAT64) V1032194, +SAFE_CAST(V1032195 AS FLOAT64) V1032195, +SAFE_CAST(V1032196 AS FLOAT64) V1032196, +SAFE_CAST(V1032197 AS FLOAT64) V1032197, +SAFE_CAST(V1032198 AS FLOAT64) V1032198, +SAFE_CAST(V1032199 AS FLOAT64) V1032199, +SAFE_CAST(V1032200 AS FLOAT64) V1032200 +FROM basedosdados-staging.br_ibge_pnadc_staging.rendimentos_outras_fontes AS t \ No newline at end of file diff --git a/models/br_ibge_pnadc/schema.yaml b/models/br_ibge_pnadc/schema.yaml index 6224e16c..31e3d00d 100644 --- a/models/br_ibge_pnadc/schema.yaml +++ b/models/br_ibge_pnadc/schema.yaml @@ -1,7 +1,7 @@ version: 2 models: - - name: br_ibge_pnadc + - name: br_ibge_pnadc__microdados description: "Microdados PNADC" columns: - name: ano @@ -850,3 +850,608 @@ models: description: Habitual (campo derivado) - name: efetivo description: Efetivo (campo derivado) + + - name: br_ibge_pnadc__rendimentos_outras_fontes + description: "Microdados da Pesquisa Suplementar Anual referentes aos rendimentos de outras fontes" + columns: + - name: ano + description: Ano + - name: trimestre + description: Trimestre + - name: id_uf + description: ID Unidade da Federação + - name: sigla_uf + description: Sigla da Unidade da Federação + - name: capital + description: Município da Capital + - name: rm_ride + description: Região Metropolitana e Região Administrativa Integrada + - name: id_upa + description: ID Unidade Primária de Amostragem (UPA) + - name: id_estrato + description: ID Estrato (As 2 primeiras posições representam o código da Unidade da Federação) + - name: id_domicilio + description: ID Domicílio + - name: id_pessoa + description: ID Pessoa Entrevistada + - name: V1008 + description: Número de seleção do domicílio + - name: V1014 + description: Painel + - name: V1022 + description: Situação do domicílio + - name: V1023 + description: Tipo de área + - name: V1030 + description: Projeção da população por níveis geográficos (Projeção da população de 1º de julho por níveis geográficos) + - name: V1031 + description: Peso do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista sem calibração pela projeção de população) + - name: V1032 + description: Peso do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1034 + description: Projeção da população por sexo e idade (Projeção da população de 1º de julho por sexo e idade) + - name: posest + description: Domínios de projeção (As 2 primeiras posições representam o código da Unidade da Federação e a última, o tipo de área UF(2) + V1023(1)) + - name: posest_sxi + description: Domínios de projeção por sexo e idade (A primeira posição representa o sexo (1- Homens; 2-Mulheres) e as 2 últimas representam os grupos etários. Sexo(1) + Idade(2)) + - name: V2001 + description: Número de pessoas no domicílio + - name: V2003 + description: Número de ordem + - name: V5001 + description: Alguma pessoa do domicílio em que... reside recebeu aposentadoria de instituto de previdência (...)? + - name: V50011 + description: ... recebeu aposentadoria de instituto de previdência (...) + - name: V500111 + description: Valor efetivamente recebido pela pessoa + - name: V5002 + description: Alguma pessoa do domicílio em que... reside recebeu pensão de instituto de previdência (...)? + - name: V50021 + description: ... recebeu pensão de instituto de previdência (...) + - name: V500211 + description: Valor efetivamente recebido pela pessoa + - name: V5003 + description: Alguma pessoa do domicílio em que... reside recebeu complementação de aposentadoria (...)? + - name: V50031 + description: ... recebeu complementação ou suplementação de aposentadoria paga por entidade seguradora ou fundo de pensão + - name: V500311 + description: Valor efetivamente recebido pela pessoa + - name: V5004 + description: Alguma pessoa do domicílio em que... reside recebeu pensão paga por caixa de assistência social (...)? + - name: V50041 + description: ... recebeu pensão paga por caixa de assistência social, entidade seguradora ou fundo de pensão, como beneficiária de outra pessoa + - name: V500411 + description: Valor efetivamente recebido pela pessoa + - name: V5005 + description: Alguma pessoa do domicílio em que... reside recebeu pensão alimentícia? + - name: V50051 + description: ... recebeu pensão alimentícia + - name: V500511 + description: Valor efetivamente recebido pela pessoa + - name: V5006 + description: Alguma pessoa do domicílio em que... reside recebeu aluguel ou arrendamento? + - name: V50061 + description: ... recebeu aluguel ou arrendamento + - name: V500611 + description: Valor efetivamente recebido pela pessoa + - name: V5007 + description: Alguma pessoa do domicílio em que... reside recebeu doação em dinheiro? + - name: V50071 + description: ... recebeu doação de pessoa que não morava no domicílio + - name: V500711 + description: Valor efetivamente recebido pela pessoa + - name: V5008 + description: Alguma pessoa do domicílio em que... reside recebeu seguro desemprego? + - name: V50081 + description: ... recebeu seguro desemprego + - name: V500811 + description: Valor efetivamente recebido pela pessoa + - name: V5009 + description: Alguma pessoa do domicílio em que... reside recebeu BPC -LOAS? + - name: V50091 + description: .. recebeu Benefício Assistencial de Prestação Continuada - BPC - LOAS? + - name: V500911 + description: Valor efetivamente recebido pela pessoa + - name: V5010 + description: Alguma pessoa do domicílio em que... reside recebeu Bolsa família ou do Programa de Erradicação do Trabalho Infantil - PETI? + - name: V50101 + description: Alguma pessoa do domicílio em que... reside recebeu Bolsa família ou do Programa de Erradicação do Trabalho Infantil - PETI? + - name: V501011 + description: Valor efetivamente recebido pela pessoa + - name: V5011 + description: Alguma pessoa do domicílio em que... reside recebeu rendimentos de outro programa social? + - name: V50111 + description: .... recebeu rendimentos de algum outro programa social, público ou privado + - name: V501111 + description: Valor efetivamente recebido pela pessoa + - name: V5012 + description: Alguma pessoa do domicílio em que... reside recebeu rendimentos de caderneta de poupança (...)? + - name: V50121 + description: ... recebeu rendimentos de caderneta de poupança (...)? + - name: V501211 + description: Valor efetivamente recebido pela pessoa + - name: V5013 + description: Alguma pessoa do domicílio em que... reside recebeu rendimentos de parceria, direitos autoriais (...)? + - name: V50131 + description: ...recebeu outros rendimentos como, por exemplo, parceria, direitos autorais, exploração de patentes, etc + - name: V501311 + description: Valor efetivamente recebido pela pessoa + - name: V5001A + description: No mês de ... (mês de referência), ... recebeu rendimentos de Benefício Assistencial de Prestação Continuada – BPC-LOAS? + - name: V5001A2 + description: Valor efetivamente recebido + - name: V5002A + description: No mês de ... (mês de referência), ... recebeu rendimentos de Programa Bolsa Família? + - name: V5002A2 + description: Valor efetivamente recebido + - name: V5003A + description: No mês de ... (mês de referência), ... recebeu rendimentos de outros programas sociais do governo? + - name: V5003A2 + description: Valor efetivamente recebido + - name: V5004A + description: No mês de ... (mês de referência), ... recebeu rendimentos de aposentadoria ou pensão de instituto de previdência federal (INSS), estadual, municipal, ou do governo federal, estadual, municipal? + - name: V5004A2 + description: Valor efetivamente recebido + - name: V5005A + description: No mês de ... (mês de referência), ... recebeu rendimentos de seguro-desemprego, seguro-defeso? + - name: V5005A2 + description: Valor efetivamente recebido + - name: V5006A + description: No mês de ... (mês de referência), ... recebeu rendimentos de pensão alimentícia, doação ou mesada em dinheiro de pessoa que não morava no domicílio? + - name: V5006A2 + description: Valor efetivamente recebido + - name: V5007A + description: No mês de ... (mês de referência), ... recebeu rendimentos de aluguel ou arrendamento? + - name: V5007A2 + description: Valor efetivamente recebido + - name: V5008A + description: No mês de ... (mês de referência), ... recebeu outros rendimentos (bolsa de estudos, rendimento de caderneta de poupança, aplicações financeiras, etc.). + - name: V5008A2 + description: Valor efetivamente recebido + - name: VD4046 + description: Rendimento recebido em todas as fontes (habitual de todos os trabalhos e efetivo de outras fontes apenas para pessoas que receberam em dinheiro, produtos ou mercadorias em qualquer trabalho ou que receberam rendimentos em dinheiro de outras fontes) + - name: VD4047 + description: Rendimento efetivo recebido de programas sociais, seguro-desemprego, seguro-defeso, bolsa de estudos, rendimento de caderneta de poupança e outras aplicações financeiras + - name: VD4048 + description: Rendimento efetivo recebido de outras fontes + - name: VD4052 + description: Rendimento recebido em todas as fontes (habitual de todos os trabalhos e efetivo de outras fontes apenas para pessoas que receberam em dinheiro, produtos, mercadorias, cartão/tíquete transporte ou alimentação em qualquer trabalho ou que receberam rendimentos em dinheiro de outras fontes) + - name: VD5001 + description: Rendimento (efetivo) domiciliar (exclusive rendimentos em cartão/tíquete transporte ou alimentação e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: VD5002 + description: Rendimento (efetivo) domiciliar per capita (exclusive rendimentos em cartão/tíquete transporte ou alimentação e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: VD5003 + description: Faixa de rendimento (efetivo) domiciliar per capita (exclusive rendimentos em cartão/tíquete transporte ou alimentação e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: VD5004 + description: Rendimento (efetivo) domiciliar (inclusive rendimentos em cartão/tíquete transporte ou alimentação e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: VD5005 + description: Rendimento (efetivo) domiciliar per capita (inclusive rendimentos em cartão/tíquete transporte ou alimentação e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: VD5006 + description: Faixa de rendimento (efetivo) domiciliar per capita (inclusive rendimentos em cartão/tíquete transporte ou alimentação e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: VD5007 + description: Rendimento domiciliar (habitual de todos os trabalhos e efetivo de outras fontes e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: VD5008 + description: Rendimento domiciliar per capita (habitual de todos os trabalho e efetivo de outras fontes e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: VD5009 + description: Faixa de rendimento domiciliar per capita (habitual de todos os trabalho e efetivo de outras fontes e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: VD5010 + description: Rendimento domiciliar (habitual de todos os trabalhos e efetivo de outras fontes, inclusive rendimentos em cartão/tíquete transporte ou alimentação e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: VD5011 + description: Rendimento domiciliar per capita (habitual de todos os trabalhos e efetivo de outras fontes, inclusive rendimentos em cartão/tíquete transporte ou alimentação e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: VD5012 + description: Faixa de rendimento domiciliar per capita (habitual de todos os trabalhos e efetivo de outras fontes, inclusive rendimentos em cartão/tíquete transporte ou alimentação e exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico) + - name: V1032001 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032002 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032003 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032004 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032005 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032006 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032007 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032008 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032009 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032010 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032011 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032012 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032013 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032014 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032015 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032016 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032017 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032018 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032019 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032020 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032021 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032022 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032023 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032024 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032025 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032026 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032027 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032028 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032029 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032030 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032031 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032032 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032033 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032034 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032035 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032036 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032037 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032038 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032039 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032040 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032041 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032042 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032043 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032044 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032045 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032046 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032047 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032048 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032049 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032050 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032051 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032052 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032053 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032054 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032055 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032056 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032057 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032058 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032059 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032060 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032061 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032062 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032063 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032064 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032065 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032066 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032067 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032068 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032069 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032070 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032071 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032072 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032073 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032074 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032075 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032076 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032077 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032078 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032079 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032080 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032081 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032082 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032083 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032084 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032085 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032086 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032087 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032088 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032089 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032090 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032091 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032092 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032093 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032094 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032095 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032096 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032097 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032098 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032099 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032100 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032101 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032102 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032103 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032104 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032105 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032106 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032107 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032108 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032109 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032110 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032111 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032112 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032113 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032114 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032115 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032116 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032117 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032118 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032119 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032120 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032121 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032122 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032123 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032124 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032125 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032126 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032127 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032128 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032129 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032130 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032131 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032132 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032133 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032134 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032135 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032136 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032137 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032138 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032139 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032140 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032141 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032142 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032143 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032144 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032145 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032146 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032147 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032148 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032149 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032150 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032151 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032152 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032153 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032154 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032155 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032156 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032157 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032158 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032159 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032160 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032161 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032162 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032163 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032164 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032165 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032166 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032167 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032168 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032169 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032170 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032171 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032172 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032173 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032174 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032175 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032176 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032177 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032178 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032179 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032180 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032181 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032182 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032183 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032184 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032185 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032186 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032187 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032188 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032189 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032190 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032191 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032192 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032193 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032194 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032195 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032196 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032197 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032198 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032199 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + - name: V1032200 + description: Peso replicado do domicílio e das pessoas (Peso anual de 1ª visita com correção de não entrevista com calibração pela projeção de população) + + - name: br_ibge_pnadc__dicionario + description: Dicionário + columns: + - name: id_tabela + description: ID Tabela + - name: nome_coluna + description: Nome da coluna + - name: chave + description: Chave + - name: cobertura_temporal + description: Cobertura temporal + - name: valor + description: Valor + From 39ffeb9c659966c398af562ec916b5103fc21c8e Mon Sep 17 00:00:00 2001 From: Luiza Vilela Campos Date: Wed, 25 Oct 2023 11:23:04 -0300 Subject: [PATCH 14/31] fix conflict --- models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql b/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql index c4d0099d..14005799 100644 --- a/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql +++ b/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql @@ -2,15 +2,15 @@ alias='microdados', schema='br_ibge_pnadc', materialized='table', - partition_by={ - "field": "ano", - "data_type": "int64", - "range": { + partition_by={ + "field": "ano", + "data_type": "int64", + "range": { "start": 2012, "end": 2025, "interval": 1} }, - cluster_by = ["ano", "sigla_uf"], + cluster_by = ["sigla_uf"], labels = {'project_id': 'basedosdados', 'tema': 'economia'}) }} SELECT From 2360f9ce00106d7b08e6ea9c0969cae4019fed76 Mon Sep 17 00:00:00 2001 From: Luiza Vilela Campos Date: Wed, 25 Oct 2023 16:10:38 -0300 Subject: [PATCH 15/31] adding id_pessoa --- .../br_ibge_pnadc/br_ibge_pnadc__microdados.sql | 16 +++++++++------- models/br_ibge_pnadc/schema.yaml | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql b/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql index 14005799..44520fb1 100644 --- a/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql +++ b/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql @@ -10,10 +10,11 @@ "end": 2025, "interval": 1} }, - cluster_by = ["sigla_uf"], - labels = {'project_id': 'basedosdados', 'tema': 'economia'}) + cluster_by = "sigla_uf", + labels = {'project_id': 'basedosdados-dev', 'tema': 'economia'}) }} -SELECT + +SELECT SAFE_CAST(ano AS INT64) ano, SAFE_CAST(trimestre AS INT64) trimestre, SAFE_CAST(id_uf AS STRING) id_uf, @@ -22,9 +23,10 @@ SAFE_CAST(capital AS STRING) capital, SAFE_CAST(rm_ride AS STRING) rm_ride, SAFE_CAST(id_upa AS STRING) id_upa, SAFE_CAST(id_estrato AS STRING) id_estrato, -SAFE_CAST(id_domicilio AS STRING) id_domicilio, -SAFE_CAST(V1008 AS INT64) V1008, -SAFE_CAST(V1014 AS INT64) V1014, +SAFE_CAST(CONCAT(id_upa,lpad(V1008,2,'0'),lpad(V1014,2,'0')) AS STRING) id_domicilio, +SAFE_CAST(CONCAT(id_upa,lpad(V1008,2,'0'),lpad(V1014,2,'0'), lpad(V2003,2,'0')) AS STRING) id_pessoa, +SAFE_CAST(lpad(V1008,2,'0') AS STRING) V1008, +SAFE_CAST(lpad(V1014,2,'0') AS STRING) V1014, SAFE_CAST(V1016 AS INT64) V1016, SAFE_CAST(V1022 AS STRING) V1022, SAFE_CAST(V1023 AS STRING) V1023, @@ -437,4 +439,4 @@ SAFE_CAST(V1028199 AS FLOAT64) V1028199, SAFE_CAST(V1028200 AS FLOAT64) V1028200, SAFE_CAST(habitual AS FLOAT64) habitual, SAFE_CAST(efetivo AS FLOAT64) efetivo -FROM basedosdados-staging.br_ibge_pnadc_staging.microdados AS t +FROM basedosdados-dev.br_ibge_pnadc_staging.microdados AS t diff --git a/models/br_ibge_pnadc/schema.yaml b/models/br_ibge_pnadc/schema.yaml index 31e3d00d..57640a83 100644 --- a/models/br_ibge_pnadc/schema.yaml +++ b/models/br_ibge_pnadc/schema.yaml @@ -22,6 +22,8 @@ models: description: ID Estrato (As 2 primeiras posições representam o código da Unidade da Federação) - name: id_domicilio description: ID Domicílio + - name: id_pessoa + description: ID Pessoa Entrevistada - name: V1008 description: Número de seleção do domicílio - name: V1014 From 014bd85e7f33090795c6ff5542ff381183f8a8ce Mon Sep 17 00:00:00 2001 From: Luiza Vilela Campos Date: Wed, 25 Oct 2023 16:12:55 -0300 Subject: [PATCH 16/31] fix from clause --- models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql b/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql index 44520fb1..8b02b43f 100644 --- a/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql +++ b/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql @@ -439,4 +439,4 @@ SAFE_CAST(V1028199 AS FLOAT64) V1028199, SAFE_CAST(V1028200 AS FLOAT64) V1028200, SAFE_CAST(habitual AS FLOAT64) habitual, SAFE_CAST(efetivo AS FLOAT64) efetivo -FROM basedosdados-dev.br_ibge_pnadc_staging.microdados AS t +FROM basedosdados-staging.br_ibge_pnadc_staging.microdados AS t From f3dbf14b291d4ff2c994c031af8f30214ca26213 Mon Sep 17 00:00:00 2001 From: folhesgabriel Date: Wed, 25 Oct 2023 17:16:00 -0300 Subject: [PATCH 17/31] adiciona modelos e schemas finais --- ...racao__energia_armazenada_reservatorio.sql | 5 ++- ...cao_operacao__energia_natural_afluente.sql | 3 +- ...racao__geracao_termica_motivo_despacho.sql | 5 ++- ..._ons_avaliacao_operacao__geracao_usina.sql | 4 +- ...r_ons_avaliacao_operacao__reservatorio.sql | 4 +- ...cao__restricao_operacao_usinas_eolicas.sql | 8 ++-- models/br_ons_avaliacao_operacao/schema.yml | 37 ++++++++++++++++++- ...os__balanco_energia_subsistemas_dessem.sql | 4 +- ...usto_variavel_unitario_usinas_termicas.sql | 5 ++- models/br_ons_estimativa_custos/schema.yml | 29 +++++++++++++++ 10 files changed, 87 insertions(+), 17 deletions(-) diff --git a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_armazenada_reservatorio.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_armazenada_reservatorio.sql index 8b18de80..e50d88b1 100644 --- a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_armazenada_reservatorio.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_armazenada_reservatorio.sql @@ -8,7 +8,8 @@ "start": 2000, "end": 2024, "interval": 1} - }) + }, + cluster_by=['ano', 'mes']) }} SELECT @@ -17,7 +18,7 @@ SAFE_CAST(ano AS INT64) ano, SAFE_CAST(mes AS INT64) mes, SAFE_CAST(reservatorio AS STRING) reservatorio, SAFE_CAST(tipo_reservatorio AS STRING) tipo_reservatorio, -SAFE_CAST(id_reservatorio_planejamento AS STRING) id_reservatorio_planejamento, +SAFE_CAST(REPLACE(id_reservatorio_planejamento, '.0', '') AS STRING) id_reservatorio_planejamento, SAFE_CAST(reservatorio_equivalente_energia AS STRING) reservatorio_equivalente_energia, SAFE_CAST(id_subsistema AS STRING) id_subsistema, SAFE_CAST(subsistema AS STRING) subsistema, diff --git a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_natural_afluente.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_natural_afluente.sql index 6dc27c2b..e5112487 100644 --- a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_natural_afluente.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__energia_natural_afluente.sql @@ -8,7 +8,8 @@ "start": 2000, "end": 2024, "interval": 1} - }) + }, + cluster_by=['ano', 'mes']) }} SELECT SAFE_CAST(data AS DATE) data, diff --git a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql index 20c03698..ef25c7bc 100644 --- a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_termica_motivo_despacho.sql @@ -9,7 +9,8 @@ "start": 2013, "end": 2024, "interval": 1} - }) + }, + cluster_by=['ano', 'mes']) }} WITH ons as ( @@ -20,7 +21,7 @@ SAFE_CAST(ano AS INT64) ano, SAFE_CAST(mes AS INT64) mes, SAFE_CAST(id_subsistema AS STRING) id_subsistema, SAFE_CAST(subsistema AS STRING) subsistema, -SAFE_CAST(id_usina_planejamento AS STRING) id_usina_planejamento, +SAFE_CAST(REPLACE(id_usina_planejamento, '.0', '') AS STRING) id_usina_planejamento, SAFE_CAST(usina AS STRING) usina, SAFE_CAST(tipo_patamar AS STRING) tipo_patamar, SAFE_CAST(atendimento_satisfatorio AS INT64) atendimento_satisfatorio, diff --git a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_usina.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_usina.sql index 57faf14d..bc272cfa 100644 --- a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_usina.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__geracao_usina.sql @@ -20,7 +20,7 @@ SAFE_CAST(mes AS INT64) mes, SAFE_CAST(sigla_uf AS STRING) sigla_uf, SAFE_CAST(id_subsistema AS STRING) id_subsistema, SAFE_CAST(subsistema AS STRING) subsistema, -SAFE_CAST(id_empreendimento_aneel AS STRING) id_empreendimento_aneel, +SAFE_CAST(REPLACE(id_empreendimento_aneel, '-', '') AS STRING) id_empreendimento_aneel, SAFE_CAST(usina AS STRING) usina, SAFE_CAST(tipo_usina AS STRING) tipo_usina, SAFE_CAST(tipo_modalidade_operacao AS STRING) tipo_modalidade_operacao, @@ -28,7 +28,7 @@ SAFE_CAST(tipo_combustivel AS STRING) tipo_combustivel, SAFE_CAST(geracao AS FLOAT64) geracao FROM basedosdados-staging.br_ons_avaliacao_operacao_staging.geracao_usina AS t ) -SELECT * +SELECT DISTINCT * FROM ons {% if is_incremental() %} WHERE data > (SELECT max(data) FROM {{ this }} ) diff --git a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__reservatorio.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__reservatorio.sql index 39a33ec1..f051d57c 100644 --- a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__reservatorio.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__reservatorio.sql @@ -8,8 +8,8 @@ SAFE_CAST(data AS DATE) data, SAFE_CAST(id_subsistema AS STRING) id_subsistema, SAFE_CAST(subsistema AS STRING) subsistema, SAFE_CAST(id_empreendimento_aneel AS STRING) id_empreendimento_aneel, -SAFE_CAST(id_reservatorio_planejamento AS STRING) id_reservatorio_planejamento, -SAFE_CAST(id_posto_vazao AS STRING) id_posto_vazao, +SAFE_CAST(REPLACE(id_reservatorio_planejamento, 'nan', '') AS STRING) id_reservatorio_planejamento, +SAFE_CAST(REPLACE(id_posto_vazao, 'nan', '') AS STRING) id_posto_vazao, SAFE_CAST(reservatorio_equivalente AS STRING) reservatorio_equivalente, SAFE_CAST(reservatorio AS STRING) reservatorio, SAFE_CAST(tipo_reservatorio AS STRING) tipo_reservatorio, diff --git a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql index baf4e86a..1ff85b12 100644 --- a/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql +++ b/models/br_ons_avaliacao_operacao/br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas.sql @@ -21,10 +21,10 @@ SAFE_CAST(sigla_uf AS STRING) sigla_uf, SAFE_CAST(id_subsistema AS STRING) id_subsistema, SAFE_CAST(subsistema AS STRING) subsistema, SAFE_CAST(id_ons AS STRING) id_ons, -SAFE_CAST(id_empreendimento_aneel AS STRING) id_empreendimento_aneel, +SAFE_CAST(REPLACE(id_empreendimento_aneel, '-', '') AS STRING) id_empreendimento_aneel, SAFE_CAST(usina AS STRING) usina, -SAFE_CAST(tipo_razao_restricao AS STRING) tipo_razao_restricao, -SAFE_CAST(tipo_origem_restricao AS STRING) tipo_origem_restricao, +SAFE_CAST(REPLACE(tipo_razao_restricao, 'nan', '') AS STRING) tipo_razao_restricao, +SAFE_CAST(REPLACE(tipo_origem_restricao, 'nan', '') AS STRING) tipo_origem_restricao, SAFE_CAST(geracao AS FLOAT64) geracao, SAFE_CAST(geracao_limitada AS FLOAT64) geracao_limitada, SAFE_CAST(disponibilidade AS FLOAT64) disponibilidade, @@ -32,7 +32,7 @@ SAFE_CAST(geracao_referencia AS FLOAT64) geracao_referencia, SAFE_CAST(geracao_referencia_final AS FLOAT64) geracao_referencia_final FROM basedosdados-staging.br_ons_avaliacao_operacao_staging.restricao_operacao_usinas_eolicas AS t ) -SELECT * +SELECT DISTINCT * FROM ons {% if is_incremental() %} WHERE data > (SELECT max(data) FROM {{ this }} ) diff --git a/models/br_ons_avaliacao_operacao/schema.yml b/models/br_ons_avaliacao_operacao/schema.yml index bdbe19d2..c2e46e80 100644 --- a/models/br_ons_avaliacao_operacao/schema.yml +++ b/models/br_ons_avaliacao_operacao/schema.yml @@ -3,6 +3,11 @@ version: 2 models: - name: br_ons_avaliacao_operacao__reservatorio description: Dados cadastrais dos reservatórios. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - data + - id_reservatorio_planejamento columns: - name: data description: Data de entrada em operação do reservatório @@ -59,6 +64,13 @@ models: description: Longitude do reservatório - name: br_ons_avaliacao_operacao__geracao_usina description: Geração verificada de usinas, conjuntos de usinas e grupos de pequenas usinas em base horária. Os Conjuntos são formados por usinas classificadas na modalidade Tipo II-C, conforme Submódulo 7.2 dos Procedimentos de Rede e são estabelecidos em Ajustamentos Operativos, disponíveis no MPO. Os grupos de pequenas usinas são formados por usinas Tipo III, que não possuem relacionamento com o ONS, e os dados são referentes a previsões de geração. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - data + - hora + - usina + - id_empreendimento_aneel columns: - name: data description: Data de referência da medição @@ -89,6 +101,12 @@ models: description: Geração de Energia - name: br_ons_avaliacao_operacao__geracao_termica_motivo_despacho description: Dados programados e verificados de geração de usinas térmicas despachadas pelo ONS por motivo de despacho em base horária. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - data + - hora + - usina columns: - name: data description: Data de referência da medição @@ -190,9 +208,14 @@ models: de mérito. - name: br_ons_avaliacao_operacao__energia_natural_afluente description: Dados das grandezas de energia natural afluente (ENA) com periodicidade diária por Reservatório. A Energia Natural Afluente (ENA) Bruta representa a energia produzível pela usina e é calculada pelo produto das vazões naturais aos reservatórios com as produtividades a 65% dos volumes úteis. A ENA Armazenável considera as vazões naturais descontadas das vazões vertidas nos reservatórios. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - data + - reservatorio columns: - name: data - description: Data + description: Data - name: ano description: Ano - name: mes @@ -227,6 +250,11 @@ models: média de longo termo (MLT) - name: br_ons_avaliacao_operacao__energia_armazenada_reservatorio description: Dados das grandezas de energia armazenada (EAR) em periodicidade diária por Reservatórios. A Energia Armazenada (EAR) representa a energia associada ao volume de água disponível nos reservatórios que pode ser convertido em geração na própria usina e em todas as usinas à jusante na cascata. A grandeza de EAR leva em conta nível verificado nos reservatórios na data de referência. A grandeza de EAR máxima representa a capacidade de armazenamento caso todos os reservatórios do sistema estivessem cheios. A grandeza de EAR para o subsistema à jusante considera a utilização da água do reservatório para produzir energia em uma usina à jusante que está em um subsistema diferente. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - data + - id_reservatorio_planejamento columns: - name: data description: Data @@ -294,6 +322,13 @@ models: (EAR) máxima do Sistema Interligado Nacional (SIN) - name: br_ons_avaliacao_operacao__restricao_operacao_usinas_eolicas description: Informações associadas à apuração das restrições de operação por Constrained-off nas usinas eólicas classificadas nas modalidades Tipo I, Tipo II-B e Tipo II-C + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - data + - hora + - usina + - id_ons columns: - name: data description: Data de referência da medição diff --git a/models/br_ons_estimativa_custos/br_ons_estimativa_custos__balanco_energia_subsistemas_dessem.sql b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__balanco_energia_subsistemas_dessem.sql index b5a626d0..6d096b0e 100644 --- a/models/br_ons_estimativa_custos/br_ons_estimativa_custos__balanco_energia_subsistemas_dessem.sql +++ b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__balanco_energia_subsistemas_dessem.sql @@ -1,6 +1,8 @@ {{ config( alias='balanco_energia_subsistemas_dessem', - schema='br_ons_estimativa_custos') + schema='br_ons_estimativa_custos', + cluster_by=['ano', 'mes'] + ) }} SELECT diff --git a/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql index 29fd2740..c47137ae 100644 --- a/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql +++ b/models/br_ons_estimativa_custos/br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas.sql @@ -8,8 +8,9 @@ "range": { "start": 2019, "end": 2024, - "interval": 1} - }) + "interval": 1}}, + cluster_by=['ano', 'mes']) + }} WITH ons as ( SELECT diff --git a/models/br_ons_estimativa_custos/schema.yml b/models/br_ons_estimativa_custos/schema.yml index 09d623f2..cbb6a016 100644 --- a/models/br_ons_estimativa_custos/schema.yml +++ b/models/br_ons_estimativa_custos/schema.yml @@ -2,6 +2,12 @@ version: 2 models: - name: br_ons_estimativa_custos__custo_marginal_operacao_semi_horario + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - data + - hora + - id_subsistema description: Valores do custo, por unidade de energia produzida, para atender ao incremento de uma unidade de carga no SIN, chamado de Custo Marginal de Operação – CMO. Este CMO é estimado pelo modelo DESSEM para cada barra do sistema em base semi-horária. O CMO do subsistema é obtido pelo média dos CMOs nas barras de cada subsistema, ponderados pelas respectivas cargas, considerando que um aumento de carga no subsistema se dá de maneira uniforme nas barras que a ele pertencem. columns: - name: data @@ -19,6 +25,11 @@ models: - name: custo_marginal_operacao description: Valor do Custo Marginal de Operação (CMO) - name: br_ons_estimativa_custos__custo_marginal_operacao_semanal + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - data + - id_subsistema description: Valores do custo, por unidade de energia produzida, para atender ao incremento de uma unidade de carga no SIN, chamado de Custo Marginal de Operação – CMO. Valores para cada semana operativa por subsistema, e por patamar de carga, além da média semanal, estimados pelo modelo Decomp. columns: - name: data @@ -40,6 +51,12 @@ models: - name: custo_marginal_operacao_semanal_carga_pesada description: Valor do Custo Marginal Operacional (CMO) no patamar de carga pesada - name: br_ons_estimativa_custos__balanco_energia_subsistemas + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - data + - hora + - id_subsistema description: Informações da carga e oferta de energia verificados em periodicidade horária por subsistema. A oferta é representada pelos valores de geração das usinas hidráulicas, térmicas, eólicas e fotovoltaicas. columns: - name: data @@ -67,6 +84,12 @@ models: - name: intercambio_verificado description: Valor verificado do intercâmbio líquido - name: br_ons_estimativa_custos__balanco_energia_subsistemas_dessem + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - data + - hora + - id_subsistema description: Informação da programação eletro energética, resultante do modelo DESSEM, da demanda de energia e geração por fontes previstas para um dia de referência em periodicidade semi-horária no subsistema. columns: - name: data @@ -96,6 +119,12 @@ models: - name: geracao_fotovoltaica_verificada description: Valor verificado de geração fotovoltaica - name: br_ons_estimativa_custos__custo_variavel_unitario_usinas_termicas + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - data_inicio + - data_fim + - id_modelo_usina description: Custo Variável Unitário (CVU) de usinas térmicas considerado no Programa Mensal da Operação, conforme utilizado na execução do modelo DECOMP columns: - name: data_inicio From 6becae315ab07740ca9c93d41ce494ec73f5cb2d Mon Sep 17 00:00:00 2001 From: Luiza Vilela Campos Date: Thu, 26 Oct 2023 10:27:01 -0300 Subject: [PATCH 18/31] fix label --- models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql b/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql index 8b02b43f..5c4fc649 100644 --- a/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql +++ b/models/br_ibge_pnadc/br_ibge_pnadc__microdados.sql @@ -11,7 +11,7 @@ "interval": 1} }, cluster_by = "sigla_uf", - labels = {'project_id': 'basedosdados-dev', 'tema': 'economia'}) + labels = {'tema': 'economia'}) }} SELECT From 0d3139c939329a4773ca107ed29d08162c3f2d09 Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Fri, 27 Oct 2023 15:17:59 -0300 Subject: [PATCH 19/31] add premio oceanos --- models/world_oceanos_mapeamento/schema.yaml | 157 ++++++++++++++++++ ...ceanos_mapeamento__historico_inscritos.sql | 46 +++++ ..._oceanos_mapeamento__historico_jurados.sql | 20 +++ .../world_oceanos_mapeamento__mapeamento.sql | 28 ++++ 4 files changed, 251 insertions(+) create mode 100644 models/world_oceanos_mapeamento/schema.yaml create mode 100644 models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql create mode 100644 models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql create mode 100644 models/world_oceanos_mapeamento/world_oceanos_mapeamento__mapeamento.sql diff --git a/models/world_oceanos_mapeamento/schema.yaml b/models/world_oceanos_mapeamento/schema.yaml new file mode 100644 index 00000000..970faa23 --- /dev/null +++ b/models/world_oceanos_mapeamento/schema.yaml @@ -0,0 +1,157 @@ +version: 2 + +models: + - name: world_oceanos_mapeamento__historico_jurados + description: A tabela contém informações sobre a participação dos jurados ano a ano, incluindo dados demográficos, o tipo de obra avaliada e se participaram da seleção dos livros finalistas. + columns: + - name: ano + description: Ano + - name: nome + description: Nome + - name: nome_pais + description: Nome do País + - name: sigla_uf + description: Sigla da UF + - name: nome_municipio_origem + description: Nome do Município de Origem do Inscrito + - name: nome_municipio_moradia + description: Nome do Município de Moradia do Inscrito + - name: genero + description: Gênero + - name: ocupacao + description: Ocupação + - name: instituicao + description: Instituição + - name: categoria + description: Categoria do Gênero Literário + - name: indicador_mapeamento + description: Indica se o inscrito está no Mapeamento + - name: indicador_nota_discrepante + description: Indica se a nota dada pelo Inscrito é discrepante + - name: indicador_juri_intermediario + description: Indica se o inscrito fez parte do Júri Intermediário + - name: indicador_juri_final + description: Indica se o inscrito fez parte do Júri Final + - name: world_oceanos_mapeamento__historico_inscritos + description: A tabela apresenta informações sobre os livros inscritos a cada ano no prêmio, incluindo detalhes sobre autores e editoras. + columns: + - name: ano + description: Ano + - name: id_inscrito + description: Código de identificação da inscrição + - name: responsavel + description: Tipo de responsável pela inscrição + - name: nome_responsavel + description: Nome do responsável pela inscrição + - name: titulo_livro + description: Título da Obra + - name: isbn + description: International Standard Book Number + - name: genero_livro + description: Categoria/Gênero Literário + - name: nome_pais_primeira_edicao + description: País da primeira edição + - name: tipo_publicacao + description: Tipo da Publicação + - name: autor_nome + description: Nome + - name: autor_genero + description: Gênero + - name: autor_idade + description: Idade + - name: autor_nome_pais + description: País + - name: autor_nacionalidade + description: Nacionalidade + - name: autor_indicador_atividade_economica_principal + description: Indica se a escrita literária é a ativade econômica principal + do autor + - name: autor_educacao_formal + description: Grau de educação formal do autor + - name: autor_indicador_publicacao_outras_obras + description: Indica se o autor já publicou outras obras + - name: autor_quantidade_obras_publicadas + description: Quantidade de obras publicadas pelo autor + - name: editora_nome + description: Nome da Editora + - name: editora_pais_origem + description: País de origem da Editora + - name: editora_local_sede + description: Local/Locais de Sede da Editora + - name: editora_ano_criacao + description: Ano de criação da Editora + - name: editora_linha_predominante + description: Linha/Linhas predomianantes + - name: editora_canal_distribuicao + description: Canal/Canais de distribuição e comercialização + - name: editora_tiragem_edicao + description: Tiragem da Edição + - name: editora_financiamento_edicao + description: Modo de Financiamento da Edição + - name: editora_site + description: Site da Editora + - name: indicador_outras_edicoes + description: Indica se a obra possui outra edições + - name: outras_edicoes_nome_editora + description: Nome da Editora, no caso da existência de outras edições + - name: outras_edicoes_ano_publicacao + description: Ano da publicação, no caso da existência de outras publicações + - name: outras_edicoes_nome_pais + description: País da edição, no caso da existência de outras edições + - name: indicador_aceite_regras + description: Indica se o usuário aceitou as regras de submissão + - name: indicador_aceite_envio_pdf + description: Indica se o usuário aceitou o envio via PDF + - name: indicacor_aceite_mapeamento + description: Indica se o usuário aceitou participar do Mapeamento + - name: indicador_semifinalista + description: Indica se a Obra foi semifinalista do prêmio + - name: indicador_finalista + description: Indica se a Obra foi finalsita do prêmio + - name: indicador_vencedor + description: Indica se a Obra foi vencedora do prêmio + - name: world_oceanos_mapeamento__mapeamento + description: Insert `mapeamento` table description here + columns: + - name: id + description: Id + tests: + - relationships: + to: ref('world_oceanos_mapeamento__historico_inscritos') + field: id_inscrito + - name: titulo + description: Título do livro. + - name: genero_literario + description: Gênero literário. + - name: outros_generos_literarios + description: Outros gêneros literários. + - name: registro_linguistico + description: Registro linguístico. + - name: tematica + description: Temática. + - name: espaco_representacao + description: Espaço de representação. + - name: ambiente_predominante + description: Ambiente predominante. + - name: temporalidade + description: Temporalidade. + - name: foco_narrativo + description: Foco narrativo. + - name: tipo_narrador + description: Tipo de narrador. + - name: procedimento_expressivo + description: Procedimento expressivo. + - name: genero_dramaturgico + description: Gênero dramatúrgico. + - name: interprete + description: Intérprete. + - name: narrador + description: Narrador. + - name: formato_cena + description: Formato de cena. + - name: estetica_cenografica + description: Estética cenográfica. + - name: tipo_localizacao + description: Tipo de localização + - name: localizacao_geografica + description: Localização geográfica diff --git a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql new file mode 100644 index 00000000..49200d14 --- /dev/null +++ b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql @@ -0,0 +1,46 @@ +{{ + config( + alias = 'historico_inscritos', + schema='world_oceanos_mapeamento', + materialized='table' ) + }} +SELECT +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(id_inscrito AS STRING) id_inscrito, +SAFE_CAST(responsavel_inscricao AS STRING) responsavel, +SAFE_CAST(nome_responsavel_inscricao AS STRING) nome_responsavel, +SAFE_CAST(titulo_livro AS STRING) titulo_livro, +SAFE_CAST(isbn AS STRING) isbn, +SAFE_CAST(genero_livro_categorias AS STRING) genero_livro, +SAFE_CAST(nome_pais_primeira_edicao AS STRING) nome_pais_primeira_edicao, +SAFE_CAST(tipo_publicacao AS STRING) tipo_publicacao, +SAFE_CAST(nome_autor_final AS STRING) autor_nome, +SAFE_CAST(genero_autor AS STRING) autor_genero, +SAFE_CAST(idade_autor AS STRING) autor_idade, +SAFE_CAST(nome_pais_autor AS STRING) autor_nome_pais, +SAFE_CAST(nacionaldade_autor AS STRING) autor_nacionalidade, +SAFE_CAST(indicador_atividade_economica_principal_autor AS STRING) autor_indicador_atividade_economica_principal, +SAFE_CAST(educacao_formal_autor AS STRING) autor_educacao_formal, +SAFE_CAST(indicador_publicacao_outras_obras AS BOOLEAN) autor_indicador_publicacao_outras_obras, +SAFE_CAST(quantidade_obras_publicadas AS FLOAT64) autor_quantidade_obras_publicadas, +SAFE_CAST(nome_editora_final_3 AS STRING) editora_nome, +SAFE_CAST(pais_origem_editora AS STRING) editora_pais_origem, +SAFE_CAST(local_sede_editora AS STRING) editora_local_sede, +SAFE_CAST(ano_criacao_editora AS FLOAT64) editora_ano_criacao, +SAFE_CAST(linha_predominante_editora AS STRING) editora_linha_predominante, +SAFE_CAST(canal_distribuicao_editora AS STRING) editora_canal_distribuicao, +SAFE_CAST(tiragem_edicao_editora AS STRING) editora_tiragem_edicao, +SAFE_CAST(financiamento_edicao_editora AS STRING) editora_financiamento_edicao, +SAFE_CAST(grupo_financiamento AS STRING) editora_grupo_financiamento, +SAFE_CAST(site_editora AS STRING) editora_site, +SAFE_CAST(indicador_outras_edicoes AS STRING) indicador_outras_edicoes, +SAFE_CAST(nome_editora_outras_edicoes AS STRING) outras_edicoes_nome_editora, +SAFE_CAST(ano_publicacao_outras_edicoes AS FLOAT64) outras_edicoes_ano_publicacao, +SAFE_CAST(nome_pais_outras_edicoes AS STRING) outras_edicoes_nome_pais, +SAFE_CAST(indicador_aceite_regras AS BOOL) indicador_aceite_regras, +SAFE_CAST(indicador_aceite_envio_pdf AS BOOL) indicador_aceite_envio_pdf, +SAFE_CAST(indicacor_aceite_mapeamento AS BOOL) indicacor_aceite_mapeamento, +SAFE_CAST(indicador_semifinalista_2 AS STRING) indicador_semifinalista, +SAFE_CAST(indicador_finalista_2 AS STRING) indicador_finalista, +SAFE_CAST(indicador_vencedor_2 AS STRING) indicador_vencedor, +FROM basedosdados-staging.world_oceanos_mapeamento_staging.historico_inscritos AS t diff --git a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql new file mode 100644 index 00000000..f0b06a42 --- /dev/null +++ b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql @@ -0,0 +1,20 @@ +{{ + config( + alias = 'historico_jurados', + schema='world_oceanos_mapeamento', + materialized='table' ) + }} +SELECT +SAFE_CAST(ano AS INTEGER) ano, +SAFE_CAST(nome_normalizado AS STRING) nome, +SAFE_CAST(nome_pais AS STRING) nome_pais, +SAFE_CAST(sigla_uf AS STRING) sigla_uf, +SAFE_CAST(nome_municipio_origem AS STRING) nome_municipio_origem, +SAFE_CAST(nome_municipio_moradia AS STRING) nome_municipio_moradia, +SAFE_CAST(genero AS STRING) genero, +SAFE_CAST(ocupacao_match_1 AS STRING) ocupacao, +SAFE_CAST(instituicao AS STRING) instituicao, +SAFE_CAST(categoria AS STRING) categoria, +SAFE_CAST(indicador_juri_intermediario AS FLOAT64) indicador_juri_intermediario, +SAFE_CAST(indicador_juri_final AS FLOAT64) indicador_juri_final, +FROM basedosdados-staging.world_oceanos_mapeamento_staging.historico_jurados AS t \ No newline at end of file diff --git a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__mapeamento.sql b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__mapeamento.sql new file mode 100644 index 00000000..c842d92b --- /dev/null +++ b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__mapeamento.sql @@ -0,0 +1,28 @@ +{{ + config( + alias = 'mapeamento', + schema='world_oceanos_mapeamento', + materialized='table' ) + }} +SELECT +SAFE_CAST(id AS STRING) id, +SAFE_CAST(livro_titulo AS STRING) titulo, +SAFE_CAST(livro_genero_literario AS STRING) genero_literario, +SAFE_CAST(livro_outros_generos_literarios AS FLOAT64) outros_generos_literarios, +SAFE_CAST(livro_registro_linguistico AS STRING) registro_linguistico, +SAFE_CAST(livro_tematica AS STRING) tematica, +SAFE_CAST(livro_espaco_de_representacao AS STRING) espaco_representacao, +SAFE_CAST(livro_ambiente_predominante AS STRING) ambiente_predominante, +SAFE_CAST(livro_temporalidade AS STRING) temporalidade, +SAFE_CAST(livro_foco_narrativo AS STRING) foco_narrativo, +SAFE_CAST(livro_tipo_de_narrador AS STRING) tipo_narrador, +SAFE_CAST(livro_procedimento_expressivo AS STRING) procedimento_expressivo, +SAFE_CAST(livro_genero_dramaturgico AS STRING) genero_dramaturgico, +SAFE_CAST(livro_interprete AS STRING) interprete, +SAFE_CAST(livro_narrador AS STRING) narrador, +SAFE_CAST(livro_formato_de_cena AS STRING) formato_cena, +SAFE_CAST(livro_estetica_cenografica AS STRING) estetica_cenografica, +SAFE_CAST(livro_tipo_localizacao_pred AS STRING) tipo_localizacao, +SAFE_CAST(livro_localizacao_geografica AS STRING) localizacao_geografica, +FROM basedosdados-staging.world_oceanos_mapeamento_staging.mapeamento AS t + From faadabe1ec3366143a212caf2ccbaa18316fd4fb Mon Sep 17 00:00:00 2001 From: Laura Amaral <100051996+laura-l-amaral@users.noreply.github.com> Date: Fri, 27 Oct 2023 15:21:28 -0300 Subject: [PATCH 20/31] Delete .github/workflows/scripts/table_test.py --- .github/workflows/scripts/table_test.py | 259 ------------------------ 1 file changed, 259 deletions(-) delete mode 100644 .github/workflows/scripts/table_test.py diff --git a/.github/workflows/scripts/table_test.py b/.github/workflows/scripts/table_test.py deleted file mode 100644 index 5828cae4..00000000 --- a/.github/workflows/scripts/table_test.py +++ /dev/null @@ -1,259 +0,0 @@ -from argparse import ArgumentParser -from pathlib import Path -import sys -from time import sleep -import traceback -import shutil -import re - -import basedosdados as bd -from basedosdados import Dataset, Storage - -from backend import Backend -from utils import expand_alls, get_datasets_tables_from_modified_files - - -def get_flow_run_state(flow_run_id: str, backend: Backend, auth_token: str): - query = """ - query ($flow_run_id: uuid!) { - flow_run_by_pk (id: $flow_run_id) { - state - } - } - """ - response = backend._execute_query( - query, - variables={"flow_run_id": flow_run_id}, - headers={"Authorization": f"Bearer {auth_token}"}, - ) - return response["flow_run_by_pk"]["state"] - -def get_flow_status_logs(flow_run_id: str, backend: Backend, auth_token: str): - query = """query ($flow_run_id: uuid!){ - log(where:{ - flow_run_id:{_eq:$flow_run_id}, - message:{_like:"%Done.%"}}){ - message - } - }""" - response = backend._execute_query( - query, - variables={"flow_run_id": flow_run_id}, - headers={"Authorization": f"Bearer {auth_token}"}, - ) - print(response) - message = response['log']['message'] - result = {} - result['pass'] = int(re.findall("PASS=\d+", message)[0].split('=')[1]) - result['skip'] = int(re.findall("SKIP=\d+", message)[0].split('=')[1]) - result['warn'] = int(re.findall("WARN=\d+", message)[0].split('=')[1]) - - return result - - -def get_materialization_flow_id(backend: Backend, auth_token: str): - query = """ - query { - flow (where: { - name: { - _like: "BD template: Executa DBT model" - }, - archived: { - _eq: false - }, - project: { - name: {_eq: "main"} - } - }) { - id - } - } - """ - response = backend._execute_query( - query, headers={"Authorization": f"Bearer {auth_token}"} - ) - return response["flow"][0]["id"] - - -if __name__ == "__main__": - # Start argument parser - arg_parser = ArgumentParser() - - # Add GraphQL URL argument - arg_parser.add_argument( - "--graphql-url", - type=str, - required=True, - help="URL of the GraphQL endpoint.", - ) - - # Add list of modified files argument - arg_parser.add_argument( - "--modified-files", - type=str, - required=True, - help="List of modified files.", - ) - - - # Add Prefect backend URL argument - arg_parser.add_argument( - "--prefect-backend-url", - type=str, - required=False, - default="https://prefect.basedosdados.org/api", - help="Prefect backend URL.", - ) - - # Add prefect base URL argument - arg_parser.add_argument( - "--prefect-base-url", - type=str, - required=False, - default="https://prefect.basedosdados.org", - help="Prefect base URL.", - ) - - # Add Prefect API token argument - arg_parser.add_argument( - "--prefect-backend-token", - type=str, - required=True, - help="Prefect backend token.", - ) - - # Add materialization mode argument - arg_parser.add_argument( - "--materialization-mode", - type=str, - required=False, - default="dev", - help="Materialization mode.", - ) - - # Add materialization label argument - arg_parser.add_argument( - "--materialization-label", - type=str, - required=False, - default="basedosdados-dev", - help="Materialization label.", - ) - - # Add dbt command label argument - arg_parser.add_argument( - "--dbt-command", - type=str, - required=False, - default = "test", - help="Materialization label.", - ) - - # Get arguments - args = arg_parser.parse_args() - - # Get datasets and tables from modified files - modified_files = args.modified_files.split(",") - datasets_tables = get_datasets_tables_from_modified_files( - modified_files, show_details=True - ) - # Split deleted datasets and tables - deleted_datasets_tables = [] - existing_datasets_tables = [] - for dataset_id, table_id, exists, alias in datasets_tables: - if exists: - existing_datasets_tables.append((dataset_id, table_id, alias)) - else: - deleted_datasets_tables.append((dataset_id, table_id, alias)) - # Expand `__all__` tables - backend = Backend(args.graphql_url) - expanded_existing_datasets_tables = [] - for dataset_id, table_id, alias in existing_datasets_tables: - expanded_table_ids = expand_alls(dataset_id, table_id, backend) - for expanded_dataset_id, expanded_table_id in expanded_table_ids: - expanded_existing_datasets_tables.append( - (expanded_dataset_id, expanded_table_id, alias) - ) - existing_datasets_tables = expanded_existing_datasets_tables - - # Launch materialization flows - backend = Backend(args.prefect_backend_url) - flow_id = get_materialization_flow_id(backend, args.prefect_backend_token) - launched_flow_run_ids = [] - for dataset_id, table_id, alias in existing_datasets_tables: - print( - f"Launching materialization flow for {dataset_id}.{table_id} (alias={alias})..." - ) - parameters = { - "dataset_id": dataset_id, - "dbt_alias": alias, - "mode": args.materialization_mode, - "table_id": table_id, - "dbt_command": args.dbt_command - } - - mutation = """ - mutation ($flow_id: UUID, $parameters: JSON, $label: String!) { - create_flow_run (input: { - flow_id: $flow_id, - parameters: $parameters, - labels: [$label], - }) { - id - } - } - """ - variables = { - "flow_id": flow_id, - "parameters": parameters, - "label": args.materialization_label, - } - - response = backend._execute_query( - mutation, - variables, - headers={"Authorization": f"Bearer {args.prefect_backend_token}"}, - ) - - flow_run_id = response["create_flow_run"]["id"] - launched_flow_run_ids.append(flow_run_id) - flow_run_url = f"{args.prefect_base_url}/flow-run/{flow_run_id}" - print(f" - Materialization flow run launched: {flow_run_url}") - - # Keep monitoring the launched flow runs until they are finished - for launched_flow_run_id in launched_flow_run_ids: - print(f"Monitoring flow run {launched_flow_run_id}...") - flow_run_state = get_flow_run_state( - flow_run_id=launched_flow_run_id, - backend=backend, - auth_token=args.prefect_backend_token, - ) - while flow_run_state not in ["Success", "Failed", "Cancelled"]: - sleep(5) - flow_run_state = get_flow_run_state( - flow_run_id=launched_flow_run_id, - backend=backend, - auth_token=args.prefect_backend_token, - ) - if flow_run_state != "Success": - raise Exception( - f'Flow run {launched_flow_run_id} finished with state "{flow_run_state}". ' - f"Check the logs at {args.prefect_base_url}/flow-run/{launched_flow_run_id}" - ) - else: - test_results = get_flow_status_logs( - flow_run_id=launched_flow_run_id, - backend=backend, - auth_token=args.prefect_backend_token, - ) - - if test_results['warn'] > 0: - raise Exception( - f"Test got {test_results['warn']} warns\n" - f"Check the logs at {args.prefect_base_url}/flow-run/{launched_flow_run_id}" - ) - - else: - print("Congrats! Everything seems fine!") - print(f"{test_results['pass']} tests passed") - print(f"{test_results['skip']} tests skiped") From 6d087f272c0f97ed94bc17bea596457b79ffab0d Mon Sep 17 00:00:00 2001 From: Laura Amaral <100051996+laura-l-amaral@users.noreply.github.com> Date: Fri, 27 Oct 2023 15:21:38 -0300 Subject: [PATCH 21/31] Delete .github/workflows/test_dbt_model.yaml --- .github/workflows/test_dbt_model.yaml | 41 --------------------------- 1 file changed, 41 deletions(-) delete mode 100644 .github/workflows/test_dbt_model.yaml diff --git a/.github/workflows/test_dbt_model.yaml b/.github/workflows/test_dbt_model.yaml deleted file mode 100644 index 6072de07..00000000 --- a/.github/workflows/test_dbt_model.yaml +++ /dev/null @@ -1,41 +0,0 @@ -name: Test DBT model - -on: - pull_request: - types: [labeled, opened] - branches: - - main - paths: - - 'models/**' - - '.github/workflows/test_dbt_model.yaml' - -jobs: - test_dbt_model: - if: contains(github.event.pull_request.labels.*.name, 'test-dev-model') - name: Test DBT dev model - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - ref: ${{ github.head_ref }} - - - name: Get all changed files using a comma separator - id: changed-files - uses: tj-actions/changed-files@v35 - with: - separator: ',' - - - name: Setup Python 3.9 - uses: actions/setup-python@v2 - with: - python-version: 3.9 - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements-actions.txt - - - name: Run script to test DBT model - run: | - python .github/workflows/scripts/table_test.py --modified-files ${{ steps.changed-files.outputs.all_modified_files }} --graphql-url ${{ secrets.BACKEND_GRAPHQL_URL }} --prefect-backend-token ${{ secrets.PREFECT_BACKEND_TOKEN }} From 3ad80689ef84119330aebe5793b7d92134d710b1 Mon Sep 17 00:00:00 2001 From: Laura Amaral <100051996+laura-l-amaral@users.noreply.github.com> Date: Fri, 27 Oct 2023 15:21:49 -0300 Subject: [PATCH 22/31] Delete models/br_bcb_taxa_cambio/br_bcb_taxa_cambio__diaria.sql --- .../br_bcb_taxa_cambio__diaria.sql | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 models/br_bcb_taxa_cambio/br_bcb_taxa_cambio__diaria.sql diff --git a/models/br_bcb_taxa_cambio/br_bcb_taxa_cambio__diaria.sql b/models/br_bcb_taxa_cambio/br_bcb_taxa_cambio__diaria.sql deleted file mode 100644 index 78090276..00000000 --- a/models/br_bcb_taxa_cambio/br_bcb_taxa_cambio__diaria.sql +++ /dev/null @@ -1,19 +0,0 @@ -{{ - config( - alias = 'diaria', - schema='br_bcb_taxa_cambio', - materialized='table', - labels = {'tema': 'economia'}) - }} -SELECT -SAFE_CAST(ano AS STRING) ano, -SAFE_CAST(data_cotacao AS DATE) data_cotacao, -SAFE_CAST(hora_cotacao AS TIME) hora_cotacao, -SAFE_CAST(moeda AS STRING) moeda, -SAFE_CAST(tipo_moeda AS STRING) tipo_moeda, -SAFE_CAST(tipo_boletim AS STRING) tipo_boletim, -SAFE_CAST(paridade_compra AS FLOAT64) paridade_compra, -SAFE_CAST(paridade_venda AS FLOAT64) paridade_venda, -SAFE_CAST(cotacao_compra AS FLOAT64) cotacao_compra, -SAFE_CAST(cotacao_venda AS FLOAT64) cotacao_venda -FROM basedosdados-staging.br_bcb_taxa_cambio_staging.taxa_cambio AS t \ No newline at end of file From ebd9203f6a6d07662c7c5f287857eac67fa58439 Mon Sep 17 00:00:00 2001 From: Laura Amaral <100051996+laura-l-amaral@users.noreply.github.com> Date: Fri, 27 Oct 2023 15:22:02 -0300 Subject: [PATCH 23/31] Delete models/br_bcb_taxa_cambio/schema.yaml --- models/br_bcb_taxa_cambio/schema.yaml | 50 --------------------------- 1 file changed, 50 deletions(-) delete mode 100644 models/br_bcb_taxa_cambio/schema.yaml diff --git a/models/br_bcb_taxa_cambio/schema.yaml b/models/br_bcb_taxa_cambio/schema.yaml deleted file mode 100644 index 1c8c40da..00000000 --- a/models/br_bcb_taxa_cambio/schema.yaml +++ /dev/null @@ -1,50 +0,0 @@ -version: 2 - -models: - - name: br_bcb_taxa_cambio__diaria - description: Boletins diários com a Paridade de Compra e a Paridade de Venda, a Cotação de Compra e a Cotação de Venda. São cinco boletins para cada data, um de abertura, três intermediários e um de fechamento. - columns: - - name: ano - description: Ano das cotações - tests: - - not_null - - name: data_cotacao - description: Data das paridades e cotações - tests: - - not_null - - name: hora_cotacao - description: Hora e minuto das paridades e cotações - tests: - - not_null - - name: moeda - description: Moeda - tests: - - not_null - - accepted_values: - values: ['AUD','CAD','CHF','DKK','EUR','GBP','JPY','NOK','SEK','USD'] - - name: tipo_moeda - description: Tipo da moeda. O tipo determina a fórmula de calculo da paridade - tests: - - not_null - - name: tipo_boletim - description: Tipo do boletim (eg. Abertura, Intermediário e Fechamento) - tests: - - not_null - - name: paridade_compra - description: Paridade de compra da moeda consultada contra o dólar - tests: - - not_null - - name: paridade_venda - description: Paridade de venda da moeda consultada contra o dólar - tests: - - not_null - - name: cotacao_compra - description: 'Cotação de compra da moeda consultada contra a unidade monetária - corrente: unidade monetária corrente/[moeda].' - tests: - - not_null - - name: cotacao_venda - description: 'Cotação de venda da moeda consultada contra a unidade monetária - corrente: unidade monetária corrente/[moeda].' - tests: - - not_null From 0be58860c5ee1d2ea2f7cad79b7499e5dc601e55 Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Fri, 27 Oct 2023 15:24:45 -0300 Subject: [PATCH 24/31] restore original files --- models/br_bcb_taxa_cambio/schema.yaml | 2 +- models/br_bcb_taxa_cambio/taxa_cambio.sql | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 models/br_bcb_taxa_cambio/taxa_cambio.sql diff --git a/models/br_bcb_taxa_cambio/schema.yaml b/models/br_bcb_taxa_cambio/schema.yaml index 1c8c40da..bab5acc9 100644 --- a/models/br_bcb_taxa_cambio/schema.yaml +++ b/models/br_bcb_taxa_cambio/schema.yaml @@ -1,7 +1,7 @@ version: 2 models: - - name: br_bcb_taxa_cambio__diaria + - name: taxa_cambio description: Boletins diários com a Paridade de Compra e a Paridade de Venda, a Cotação de Compra e a Cotação de Venda. São cinco boletins para cada data, um de abertura, três intermediários e um de fechamento. columns: - name: ano diff --git a/models/br_bcb_taxa_cambio/taxa_cambio.sql b/models/br_bcb_taxa_cambio/taxa_cambio.sql new file mode 100644 index 00000000..02e5341e --- /dev/null +++ b/models/br_bcb_taxa_cambio/taxa_cambio.sql @@ -0,0 +1,18 @@ +{{ + config( + schema='br_bcb_taxa_cambio', + materialized='table', + labels = {'tema': 'economia'}) + }} +SELECT +SAFE_CAST(ano AS STRING) ano, +SAFE_CAST(data_cotacao AS DATE) data_cotacao, +SAFE_CAST(hora_cotacao AS TIME) hora_cotacao, +SAFE_CAST(moeda AS STRING) moeda, +SAFE_CAST(tipo_moeda AS STRING) tipo_moeda, +SAFE_CAST(tipo_boletim AS STRING) tipo_boletim, +SAFE_CAST(paridade_compra AS FLOAT64) paridade_compra, +SAFE_CAST(paridade_venda AS FLOAT64) paridade_venda, +SAFE_CAST(cotacao_compra AS FLOAT64) cotacao_compra, +SAFE_CAST(cotacao_venda AS FLOAT64) cotacao_venda +FROM basedosdados-staging.br_bcb_taxa_cambio_staging.taxa_cambio AS t \ No newline at end of file From c75e44630ecf9b2c8d072274122a636ed679fcc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Fri, 27 Oct 2023 16:08:34 -0300 Subject: [PATCH 25/31] Update world_oceanos_mapeamento__historico_inscritos.sql --- .../world_oceanos_mapeamento__historico_inscritos.sql | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql index 49200d14..b43065f3 100644 --- a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql +++ b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql @@ -22,11 +22,11 @@ SAFE_CAST(nacionaldade_autor AS STRING) autor_nacionalidade, SAFE_CAST(indicador_atividade_economica_principal_autor AS STRING) autor_indicador_atividade_economica_principal, SAFE_CAST(educacao_formal_autor AS STRING) autor_educacao_formal, SAFE_CAST(indicador_publicacao_outras_obras AS BOOLEAN) autor_indicador_publicacao_outras_obras, -SAFE_CAST(quantidade_obras_publicadas AS FLOAT64) autor_quantidade_obras_publicadas, +SAFE_CAST(quantidade_obras_publicadas AS INT64) autor_quantidade_obras_publicadas, SAFE_CAST(nome_editora_final_3 AS STRING) editora_nome, SAFE_CAST(pais_origem_editora AS STRING) editora_pais_origem, SAFE_CAST(local_sede_editora AS STRING) editora_local_sede, -SAFE_CAST(ano_criacao_editora AS FLOAT64) editora_ano_criacao, +SAFE_CAST(ano_criacao_editora AS INT64) editora_ano_criacao, SAFE_CAST(linha_predominante_editora AS STRING) editora_linha_predominante, SAFE_CAST(canal_distribuicao_editora AS STRING) editora_canal_distribuicao, SAFE_CAST(tiragem_edicao_editora AS STRING) editora_tiragem_edicao, @@ -37,9 +37,6 @@ SAFE_CAST(indicador_outras_edicoes AS STRING) indicador_outras_edicoes, SAFE_CAST(nome_editora_outras_edicoes AS STRING) outras_edicoes_nome_editora, SAFE_CAST(ano_publicacao_outras_edicoes AS FLOAT64) outras_edicoes_ano_publicacao, SAFE_CAST(nome_pais_outras_edicoes AS STRING) outras_edicoes_nome_pais, -SAFE_CAST(indicador_aceite_regras AS BOOL) indicador_aceite_regras, -SAFE_CAST(indicador_aceite_envio_pdf AS BOOL) indicador_aceite_envio_pdf, -SAFE_CAST(indicacor_aceite_mapeamento AS BOOL) indicacor_aceite_mapeamento, SAFE_CAST(indicador_semifinalista_2 AS STRING) indicador_semifinalista, SAFE_CAST(indicador_finalista_2 AS STRING) indicador_finalista, SAFE_CAST(indicador_vencedor_2 AS STRING) indicador_vencedor, From 1e67b37d193d76995a4172d560d1866c1fc6d4d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Fri, 27 Oct 2023 16:20:48 -0300 Subject: [PATCH 26/31] Update world_oceanos_mapeamento__historico_jurados.sql --- .../world_oceanos_mapeamento__historico_jurados.sql | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql index f0b06a42..4a49872e 100644 --- a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql +++ b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql @@ -6,15 +6,15 @@ }} SELECT SAFE_CAST(ano AS INTEGER) ano, -SAFE_CAST(nome_normalizado AS STRING) nome, +SAFE_CAST(nome_final AS STRING) nome, SAFE_CAST(nome_pais AS STRING) nome_pais, -SAFE_CAST(sigla_uf AS STRING) sigla_uf, +SAFE_CAST(REPLACE(sigla_uf, "-", "") AS STRING) sigla_uf, SAFE_CAST(nome_municipio_origem AS STRING) nome_municipio_origem, SAFE_CAST(nome_municipio_moradia AS STRING) nome_municipio_moradia, SAFE_CAST(genero AS STRING) genero, SAFE_CAST(ocupacao_match_1 AS STRING) ocupacao, SAFE_CAST(instituicao AS STRING) instituicao, -SAFE_CAST(categoria AS STRING) categoria, -SAFE_CAST(indicador_juri_intermediario AS FLOAT64) indicador_juri_intermediario, -SAFE_CAST(indicador_juri_final AS FLOAT64) indicador_juri_final, -FROM basedosdados-staging.world_oceanos_mapeamento_staging.historico_jurados AS t \ No newline at end of file +SAFE_CAST(REPLACE(categoria, "-", "") AS STRING) categoria, +SAFE_CAST(indicador_juri_intermediario AS STRING) indicador_juri_intermediario, +SAFE_CAST(indicador_juri_final AS STRING) indicador_juri_final, +FROM basedosdados-staging.world_oceanos_mapeamento_staging.historico_jurados AS t From 689258eb72a3fd87b568c5004c946e2e66449ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Fri, 27 Oct 2023 16:21:57 -0300 Subject: [PATCH 27/31] Update world_oceanos_mapeamento__historico_jurados.sql --- .../world_oceanos_mapeamento__historico_jurados.sql | 1 - 1 file changed, 1 deletion(-) diff --git a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql index 4a49872e..dff670e7 100644 --- a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql +++ b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql @@ -10,7 +10,6 @@ SAFE_CAST(nome_final AS STRING) nome, SAFE_CAST(nome_pais AS STRING) nome_pais, SAFE_CAST(REPLACE(sigla_uf, "-", "") AS STRING) sigla_uf, SAFE_CAST(nome_municipio_origem AS STRING) nome_municipio_origem, -SAFE_CAST(nome_municipio_moradia AS STRING) nome_municipio_moradia, SAFE_CAST(genero AS STRING) genero, SAFE_CAST(ocupacao_match_1 AS STRING) ocupacao, SAFE_CAST(instituicao AS STRING) instituicao, From 3cfd0962c9443e62dd202e706401dda014fe4742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Fri, 27 Oct 2023 16:25:40 -0300 Subject: [PATCH 28/31] Update schema.yaml --- models/world_oceanos_mapeamento/schema.yaml | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/models/world_oceanos_mapeamento/schema.yaml b/models/world_oceanos_mapeamento/schema.yaml index 970faa23..d1edcb09 100644 --- a/models/world_oceanos_mapeamento/schema.yaml +++ b/models/world_oceanos_mapeamento/schema.yaml @@ -14,8 +14,6 @@ models: description: Sigla da UF - name: nome_municipio_origem description: Nome do Município de Origem do Inscrito - - name: nome_municipio_moradia - description: Nome do Município de Moradia do Inscrito - name: genero description: Gênero - name: ocupacao @@ -23,15 +21,11 @@ models: - name: instituicao description: Instituição - name: categoria - description: Categoria do Gênero Literário - - name: indicador_mapeamento - description: Indica se o inscrito está no Mapeamento - - name: indicador_nota_discrepante - description: Indica se a nota dada pelo Inscrito é discrepante + description: Categoria avalidada pelo jurado - name: indicador_juri_intermediario - description: Indica se o inscrito fez parte do Júri Intermediário + description: Indica se o jurado fez parte do Júri Intermediário - name: indicador_juri_final - description: Indica se o inscrito fez parte do Júri Final + description: Indica se o jurado fez parte do Júri Final - name: world_oceanos_mapeamento__historico_inscritos description: A tabela apresenta informações sobre os livros inscritos a cada ano no prêmio, incluindo detalhes sobre autores e editoras. columns: @@ -98,12 +92,6 @@ models: description: Ano da publicação, no caso da existência de outras publicações - name: outras_edicoes_nome_pais description: País da edição, no caso da existência de outras edições - - name: indicador_aceite_regras - description: Indica se o usuário aceitou as regras de submissão - - name: indicador_aceite_envio_pdf - description: Indica se o usuário aceitou o envio via PDF - - name: indicacor_aceite_mapeamento - description: Indica se o usuário aceitou participar do Mapeamento - name: indicador_semifinalista description: Indica se a Obra foi semifinalista do prêmio - name: indicador_finalista From c416596bc51e16afea8c768faace48ac007435d8 Mon Sep 17 00:00:00 2001 From: Laura Amaral Date: Fri, 27 Oct 2023 16:28:56 -0300 Subject: [PATCH 29/31] include dbt_project --- dbt_project.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dbt_project.yml b/dbt_project.yml index b893b960..c821f6b8 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -250,6 +250,9 @@ models: world_wb_mides: +materialized: table +schema: world_wb_mides + world_oceanos_mapeamento: + +materialized: table + +schema: world_oceanos_mapeamento test_dataset: +materialized: table +schema: test_dataset From ad64126e7abfde731671bc99d63ed15487785925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Gusm=C3=A3o?= Date: Fri, 27 Oct 2023 18:13:49 -0300 Subject: [PATCH 30/31] fix: fixing gcs files --- models/world_oceanos_mapeamento/schema.yaml | 2 +- .../world_oceanos_mapeamento__historico_inscritos.sql | 2 +- .../world_oceanos_mapeamento__historico_jurados.sql | 1 + .../world_oceanos_mapeamento__mapeamento.sql | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/models/world_oceanos_mapeamento/schema.yaml b/models/world_oceanos_mapeamento/schema.yaml index d1edcb09..d13ad40a 100644 --- a/models/world_oceanos_mapeamento/schema.yaml +++ b/models/world_oceanos_mapeamento/schema.yaml @@ -99,7 +99,7 @@ models: - name: indicador_vencedor description: Indica se a Obra foi vencedora do prêmio - name: world_oceanos_mapeamento__mapeamento - description: Insert `mapeamento` table description here + description: columns: - name: id description: Id diff --git a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql index b43065f3..cbf274cd 100644 --- a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql +++ b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_inscritos.sql @@ -25,7 +25,7 @@ SAFE_CAST(indicador_publicacao_outras_obras AS BOOLEAN) autor_indicador_publicac SAFE_CAST(quantidade_obras_publicadas AS INT64) autor_quantidade_obras_publicadas, SAFE_CAST(nome_editora_final_3 AS STRING) editora_nome, SAFE_CAST(pais_origem_editora AS STRING) editora_pais_origem, -SAFE_CAST(local_sede_editora AS STRING) editora_local_sede, +SAFE_CAST(local_sede_editora_normalizado AS STRING) editora_local_sede, SAFE_CAST(ano_criacao_editora AS INT64) editora_ano_criacao, SAFE_CAST(linha_predominante_editora AS STRING) editora_linha_predominante, SAFE_CAST(canal_distribuicao_editora AS STRING) editora_canal_distribuicao, diff --git a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql index dff670e7..4366d928 100644 --- a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql +++ b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__historico_jurados.sql @@ -4,6 +4,7 @@ schema='world_oceanos_mapeamento', materialized='table' ) }} + SELECT SAFE_CAST(ano AS INTEGER) ano, SAFE_CAST(nome_final AS STRING) nome, diff --git a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__mapeamento.sql b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__mapeamento.sql index c842d92b..26817767 100644 --- a/models/world_oceanos_mapeamento/world_oceanos_mapeamento__mapeamento.sql +++ b/models/world_oceanos_mapeamento/world_oceanos_mapeamento__mapeamento.sql @@ -4,6 +4,7 @@ schema='world_oceanos_mapeamento', materialized='table' ) }} + SELECT SAFE_CAST(id AS STRING) id, SAFE_CAST(livro_titulo AS STRING) titulo, From b52d3cc649a692647a13d600c6d9d38db41e095f Mon Sep 17 00:00:00 2001 From: folhesgabriel Date: Mon, 30 Oct 2023 08:05:56 -0300 Subject: [PATCH 31/31] conserta schema oceanos --- models/world_oceanos_mapeamento/schema.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/world_oceanos_mapeamento/schema.yaml b/models/world_oceanos_mapeamento/schema.yaml index d13ad40a..11bca24c 100644 --- a/models/world_oceanos_mapeamento/schema.yaml +++ b/models/world_oceanos_mapeamento/schema.yaml @@ -99,7 +99,7 @@ models: - name: indicador_vencedor description: Indica se a Obra foi vencedora do prêmio - name: world_oceanos_mapeamento__mapeamento - description: + description: Mapeamento Oceanos columns: - name: id description: Id