diff --git a/bases/br_bd_metadados/columns/publish.sql b/bases/br_bd_metadados/columns/publish.sql new file mode 100644 index 000000000..6945d4ee2 --- /dev/null +++ b/bases/br_bd_metadados/columns/publish.sql @@ -0,0 +1,34 @@ +/* +Query para publicar a tabela. + +Esse é o lugar para: + - modificar nomes, ordem e tipos de colunas + - dar join com outras tabelas + - criar colunas extras (e.g. logs, proporções, etc.) + +Qualquer coluna definida aqui deve também existir em `table_config.yaml`. + +# Além disso, sinta-se à vontade para alterar alguns nomes obscuros +# para algo um pouco mais explícito. + +TIPOS: + - Para modificar tipos de colunas, basta substituir STRING por outro tipo válido. + - Exemplo: `SAFE_CAST(column_name AS NUMERIC) column_name` + - Mais detalhes: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types +*/ + +CREATE VIEW basedosdados-dev.br_bd_metadados.columns AS +SELECT +SAFE_CAST(table_id AS STRING) table_id, +SAFE_CAST(name AS STRING) name, +SAFE_CAST(bigquery_type AS STRING) bigquery_type, +SAFE_CAST(description AS STRING) description, +SAFE_CAST(temporal_coverage AS STRING) temporal_coverage, +SAFE_CAST(covered_by_dictionary AS STRING) covered_by_dictionary, +SAFE_CAST(directory_column AS STRING) directory_column, +SAFE_CAST(measurement_unit AS STRING) measurement_unit, +SAFE_CAST(has_sensitive_data AS STRING) has_sensitive_data, +SAFE_CAST(observations AS STRING) observations, +SAFE_CAST(is_in_staging AS STRING) is_in_staging, +SAFE_CAST(is_partition AS STRING) is_partition +FROM basedosdados-dev.br_bd_metadados_staging.columns AS t \ No newline at end of file diff --git a/bases/br_bd_metadados/columns/schema-prod.json b/bases/br_bd_metadados/columns/schema-prod.json new file mode 100644 index 000000000..867b9ca78 --- /dev/null +++ b/bases/br_bd_metadados/columns/schema-prod.json @@ -0,0 +1 @@ +[{"name": "table_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "bigquery_type", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "description", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "temporal_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "covered_by_dictionary", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "directory_column", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "measurement_unit", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "has_sensitive_data", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "observations", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "is_in_staging", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "is_partition", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/columns/schema-staging.json b/bases/br_bd_metadados/columns/schema-staging.json new file mode 100644 index 000000000..dfdba64bc --- /dev/null +++ b/bases/br_bd_metadados/columns/schema-staging.json @@ -0,0 +1 @@ +[{"name": "table_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "bigquery_type", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "description", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "temporal_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "covered_by_dictionary", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "directory_column", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "measurement_unit", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "has_sensitive_data", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "observations", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "is_in_staging", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "is_partition", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/columns/table_config.yaml b/bases/br_bd_metadados/columns/table_config.yaml new file mode 100644 index 000000000..bc5fb1012 --- /dev/null +++ b/bases/br_bd_metadados/columns/table_config.yaml @@ -0,0 +1,291 @@ +# Igual ao dataset.name mas como lower case. +# Exemplos: br_ibge_populacao, br_inep_censo_escolar +dataset_id: br_bd_metadados + +table_id: columns + +# Título da tabela. +title: Colunas na BD+ + +# Descreva a tabela. Essas são as primeiras frases que um usuário vai ver. +# Você não precisa ser muito conciso. Sinta-se a vontade para dar exemplos de +# como usar os dados. +# Se souber, liste também aplicações: pesquisa, apps, etc. que usem os dados., +description: Colunas na BD+ + +# As máximas unidades espaciais que a tabela cobre. +# Exemplo: +# - sa.br +spatial_coverage: + - world + +# Anos cobertos pela tabela. +# Preencher como lista de intervalos. +# Exemplos: ['1995(1)2019'], ['2002(2)2010', '2016', '2020']. +temporal_coverage: + - '2023-03-15' + +# A unidade temporal com qual a tabela é atualizada. +# Opções em 'https://basedosdados.org/api/3/action/bd_available_options' +update_frequency: day + +# Nível de observação da tabela: o que representa cada linha. +observation_level: + - entity: other + columns: + - table_id + - entity: other + columns: + - name + +last_updated: + metadata: '2023-03-07' + data: '2023-03-07 14:54:00' + release: '2023-03-07 14:54:00' + +# Versão da tabela. Seguindo o padrão de semantic versioning. +# Exemplo: v1.1.3 +version: v1.0 + +# Quem está preenchendo esses metadados? +published_by: + name: Patrick Teixeira + email: Patrick.teixeira@basedosdados.org + github_user: tricktx + ckan_user: patrickteixeira + website: + +# Qual organização/departamento/pessoa tratou os dados? +# As vezes há um ponto intermediário entre os dados originais e subir na Base dos Dados. +# Se essa pessoa é você, preencha abaixo com suas informações. +data_cleaned_by: + name: Ricardo Dahis + email: rdahis@basedosdados.org + github_user: rdahis + ckan_user: rdahis + website: www.ricardodahis.com + +# Se houve passos de tratamento, limpeza e manipulação de dados, descreva-os aqui. +data_cleaning_description: + +# Url do código de limpeza dos dados. +data_cleaning_code_url: + +# Organização que ajudou institucionalmente na disponibilização dos dados. +partner_organization: + name: + organization_id: + +# Url dos dados originais no GCP Storage. +raw_files_url: + +# Url dos arquivos auxiliares no GCP Storage. +auxiliary_files_url: + +# Url da tabela de arquitetura no GCP Storage. +architecture_url: + +source_bucket_name: basedosdados-dev + +project_id_prod: basedosdados-dev + +project_id_staging: basedosdados-dev + +# Liste as colunas da tabela que representam partições. +# Não esqueça de deletar essas colunas nas tabelas .csv na hora de subir para o BigQuery. +# Isso poupará muito tempo e dinheiro às pessoas utilizando essa tabela. +# Se não houver partições, não modifique abaixo. +partitions: + +# Quais são as colunas? Certifique-se de escrever uma boa descrição, as pessoas vão gostar +# para saber sobre o que é a coluna. +# Adicionar todas as colunas manualmente pode ser bastante cansativo, por isso, quando +# inicializando este arquivo de configuração, você pode apontar a função para uma amostra de dados que +# preencherá automaticamente as colunas. +# Algumas colunas existirão apenas na tabela final, você as construirá em `publish.sql`. +# Para esses, defina is_in_staging como False. +# Além disso, você deve adicionar as colunas de partição aqui e definir is_partition como True. +columns: + - name: table_id + bigquery_type: string + description: Table ID + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: name + bigquery_type: string + description: Name + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: bigquery_type + bigquery_type: string + description: Bigquery Type + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: description + bigquery_type: string + description: Description + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: temporal_coverage + bigquery_type: string + description: Temporal Coverage + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: year + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: covered_by_dictionary + bigquery_type: string + description: Indicates if it is covered by dictionary + temporal_coverage: + - (1) + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: directory_column + bigquery_type: string + description: Directory Column + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: measurement_unit + bigquery_type: string + description: Measurement Unit + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: has_sensitive_data + bigquery_type: string + description: Indicates if it has sensitive data + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: observations + bigquery_type: string + description: Observations + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: is_in_staging + bigquery_type: string + description: Is in staging + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: is_partition + bigquery_type: string + description: Is Partition + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + +number_rows: 14880 + +metadata_modified: \ No newline at end of file diff --git a/bases/br_bd_metadados/columns/table_description.txt b/bases/br_bd_metadados/columns/table_description.txt new file mode 100644 index 000000000..93d38c5cf --- /dev/null +++ b/bases/br_bd_metadados/columns/table_description.txt @@ -0,0 +1,41 @@ +None + +Para saber mais acesse: +Website: +Github: + +Ajude a manter o projeto :) +Apoia-se: https://apoia.se/basedosdados + +Publicado por +------------- +Nome: None +Código: +Tratado por +----------- +Nome: None +Código: + + + + + + +Cobertura Temporal +------------------ + + + + +Cobertura Espacial +------------------ + + + + + + + +Frequencia de Atualização +------------------------- +day diff --git a/bases/br_bd_metadados/dataset_config.yaml b/bases/br_bd_metadados/dataset_config.yaml new file mode 100644 index 000000000..996b54d93 --- /dev/null +++ b/bases/br_bd_metadados/dataset_config.yaml @@ -0,0 +1,38 @@ + +# Nome (slug) do conjunto no CKAN +# Exemplos: br-ibge-populacao, br-tse-eleicoes +name: br-bd-metadados + +# Título do conjunto, a ser exibido no mecanismo de busca. +# Exemplo: População brasileira +title: Metadados da Base dos Dados + +# Qual organização disponibiliza os dados originais? +# Opções: escolher dessa lista -> https://basedosdados.org/api/3/action/organization_list +# Exemplos: br-ibge, br-tse, br-rj-gov +organization: br-bd + +# Descrição do conjunto +notes: Informações compiladas sobre os metadados mantidos na plataforma BD+. + +# Quais temas caracterizam a base? +# Opções: escolher dessa lista -> https://basedosdados.org/api/3/action/group_list +# Importante: preencher com a chave, e não o valor. +groups: + - ciencia-tec-inov + +# Quais etiquetas caracterizam a base? +# Opções: escolher dessa lista -> https://basedosdados.org/api/3/action/tag_list +# Exemplos: fertilidade, preco, desmatamento. +# Caso crie etiquetas novas, as regras são: +# - letras minúsculas +# - sem acentos +# - sempre no singular +# - não repita nomes de grupos (ex. educacao, saude, meio ambiente, economia, etc.) +tags: + - administracao + - dados abertos + +# Não altere esse campo. +# Data da última modificação dos metadados gerada automaticamente pelo CKAN. +metadata_modified: diff --git a/bases/br_bd_metadados/datasets/publish.sql b/bases/br_bd_metadados/datasets/publish.sql new file mode 100644 index 000000000..82c5d2099 --- /dev/null +++ b/bases/br_bd_metadados/datasets/publish.sql @@ -0,0 +1,30 @@ +/* +Query para publicar a tabela. + +Esse é o lugar para: + - modificar nomes, ordem e tipos de colunas + - dar join com outras tabelas + - criar colunas extras (e.g. logs, proporções, etc.) + +Qualquer coluna definida aqui deve também existir em `table_config.yaml`. + +# Além disso, sinta-se à vontade para alterar alguns nomes obscuros +# para algo um pouco mais explícito. + +TIPOS: + - Para modificar tipos de colunas, basta substituir STRING por outro tipo válido. + - Exemplo: `SAFE_CAST(column_name AS NUMERIC) column_name` + - Mais detalhes: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types +*/ + +CREATE VIEW basedosdados-dev.br_bd_metadados.datasets AS +SELECT +SAFE_CAST(organization_id AS STRING) organization_id, +SAFE_CAST(id AS STRING) id, +SAFE_CAST(name AS STRING) name, +SAFE_CAST(title AS STRING) title, +SAFE_CAST(date_created AS DATE) date_created, +SAFE_CAST(date_last_modified AS DATE) date_last_modified, +SAFE_CAST(themes AS STRING) themes, +SAFE_CAST(tags AS STRING) tags +FROM basedosdados-dev.br_bd_metadados_staging.datasets AS t \ No newline at end of file diff --git a/bases/br_bd_metadados/datasets/schema-prod.json b/bases/br_bd_metadados/datasets/schema-prod.json new file mode 100644 index 000000000..32a12cfaa --- /dev/null +++ b/bases/br_bd_metadados/datasets/schema-prod.json @@ -0,0 +1 @@ +[{"name": "organization_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "title", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "date_last_modified", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "themes", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "tags", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/datasets/schema-staging.json b/bases/br_bd_metadados/datasets/schema-staging.json new file mode 100644 index 000000000..5c7979bf2 --- /dev/null +++ b/bases/br_bd_metadados/datasets/schema-staging.json @@ -0,0 +1 @@ +[{"name": "organization_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "title", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "date_last_modified", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "themes", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "tags", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/datasets/table_config.yaml b/bases/br_bd_metadados/datasets/table_config.yaml new file mode 100644 index 000000000..4b71f5eba --- /dev/null +++ b/bases/br_bd_metadados/datasets/table_config.yaml @@ -0,0 +1,229 @@ +# Igual ao dataset.name mas como lower case. +# Exemplos: br_ibge_populacao, br_inep_censo_escolar +dataset_id: br_bd_metadados + +table_id: datasets + +# Título da tabela. +title: Conjuntos de dados na BD+ + +# Descreva a tabela. Essas são as primeiras frases que um usuário vai ver. +# Você não precisa ser muito conciso. Sinta-se a vontade para dar exemplos de +# como usar os dados. +# Se souber, liste também aplicações: pesquisa, apps, etc. que usem os dados., +description: Conjuntos de dados na BD+ + +# As máximas unidades espaciais que a tabela cobre. +# Exemplo: +# - sa.br +spatial_coverage: + - world + +# Anos cobertos pela tabela. +# Preencher como lista de intervalos. +# Exemplos: ['1995(1)2019'], ['2002(2)2010', '2016', '2020']. +temporal_coverage: + - '2023-03-15' + +# A unidade temporal com qual a tabela é atualizada. +# Opções em 'https://basedosdados.org/api/3/action/bd_available_options' +update_frequency: day + +# Nível de observação da tabela: o que representa cada linha. +observation_level: + - entity: name + columns: + - name + +last_updated: + metadata: '2023-03-07' + data: '2023-03-07 14:54:00' + release: '2023-03-07 14:54:00' + +# Versão da tabela. Seguindo o padrão de semantic versioning. +# Exemplo: v1.1.3 +version: v1.0 + +# Quem está preenchendo esses metadados? +published_by: + name: Patrick Teixeira + email: Patrick.teixeira@basedosdados.org + github_user: tricktx + ckan_user: patrickteixeira + website: + +# Qual organização/departamento/pessoa tratou os dados? +# As vezes há um ponto intermediário entre os dados originais e subir na Base dos Dados. +# Se essa pessoa é você, preencha abaixo com suas informações. +data_cleaned_by: + name: Ricardo Dahis + email: rdahis@basedosdados.org + github_user: rdahis + ckan_user: rdahis + website: www.ricardodahis.com + +# Se houve passos de tratamento, limpeza e manipulação de dados, descreva-os aqui. +data_cleaning_description: + +# Url do código de limpeza dos dados. +data_cleaning_code_url: + +# Organização que ajudou institucionalmente na disponibilização dos dados. +partner_organization: + name: + organization_id: + +# Url dos dados originais no GCP Storage. +raw_files_url: + +# Url dos arquivos auxiliares no GCP Storage. +auxiliary_files_url: + +# Url da tabela de arquitetura no GCP Storage. +architecture_url: + +source_bucket_name: basedosdados-dev + +project_id_prod: basedosdados-dev + +project_id_staging: basedosdados-dev + +# Liste as colunas da tabela que representam partições. +# Não esqueça de deletar essas colunas nas tabelas .csv na hora de subir para o BigQuery. +# Isso poupará muito tempo e dinheiro às pessoas utilizando essa tabela. +# Se não houver partições, não modifique abaixo. +partitions: + +# Quais são as colunas? Certifique-se de escrever uma boa descrição, as pessoas vão gostar +# para saber sobre o que é a coluna. +# Adicionar todas as colunas manualmente pode ser bastante cansativo, por isso, quando +# inicializando este arquivo de configuração, você pode apontar a função para uma amostra de dados que +# preencherá automaticamente as colunas. +# Algumas colunas existirão apenas na tabela final, você as construirá em `publish.sql`. +# Para esses, defina is_in_staging como False. +# Além disso, você deve adicionar as colunas de partição aqui e definir is_partition como True. +columns: + - name: organization_id + bigquery_type: string + description: Organization ID + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: id + bigquery_type: string + description: Dataset ID + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: name + bigquery_type: string + description: Dataset name + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: title + bigquery_type: string + description: Title + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: date_created + bigquery_type: date + description: Date Created + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: br_bd_diretorios_data_tempo + table_id: data + column_name: data + measurement_unit: date + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: date_last_modified + bigquery_type: date + description: Last Modified Date + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: br_bd_diretorios_data_tempo + table_id: data + column_name: data + measurement_unit: date + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: themes + bigquery_type: string + description: Themes + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: tags + bigquery_type: string + description: Tags + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + +number_rows: 1000 + +metadata_modified: diff --git a/bases/br_bd_metadados/datasets/table_description.txt b/bases/br_bd_metadados/datasets/table_description.txt new file mode 100644 index 000000000..c97857363 --- /dev/null +++ b/bases/br_bd_metadados/datasets/table_description.txt @@ -0,0 +1,45 @@ +None + +Para saber mais acesse: +Website: +Github: + +Ajude a manter o projeto :) +Apoia-se: https://apoia.se/basedosdados + +Publicado por +------------- +Nome: Ricardo Dahis +Código: +Website: www.ricardodahis.com +Email: rdahis@basedosdados.org +Tratado por +----------- +Nome: Ricardo Dahis +Código: +Website: www.ricardodahis.com +Email: rdahis@basedosdados.org + + + + + + +Cobertura Temporal +------------------ + + + + +Cobertura Espacial +------------------ + + + + + + + +Frequencia de Atualização +------------------------- +day diff --git a/bases/br_bd_metadados/external_links/publish.sql b/bases/br_bd_metadados/external_links/publish.sql new file mode 100644 index 000000000..ce181058d --- /dev/null +++ b/bases/br_bd_metadados/external_links/publish.sql @@ -0,0 +1,38 @@ +/* +Query para publicar a tabela. + +Esse é o lugar para: + - modificar nomes, ordem e tipos de colunas + - dar join com outras tabelas + - criar colunas extras (e.g. logs, proporções, etc.) + +Qualquer coluna definida aqui deve também existir em `table_config.yaml`. + +# Além disso, sinta-se à vontade para alterar alguns nomes obscuros +# para algo um pouco mais explícito. + +TIPOS: + - Para modificar tipos de colunas, basta substituir STRING por outro tipo válido. + - Exemplo: `SAFE_CAST(column_name AS NUMERIC) column_name` + - Mais detalhes: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types +*/ + +CREATE VIEW basedosdados-dev.br_bd_metadados.external_links AS +SELECT +SAFE_CAST(dataset_id AS STRING) dataset_id, +SAFE_CAST(id AS STRING) id, +SAFE_CAST(name AS STRING) name, +SAFE_CAST(date_created AS date) date_created, +SAFE_CAST(date_last_modified AS date) date_last_modified, +SAFE_CAST(url AS STRING) url, +SAFE_CAST(language AS STRING) language, +SAFE_CAST(has_structured_data AS STRING) has_structured_data, +SAFE_CAST(has_api AS STRING) has_api, +SAFE_CAST(is_free AS STRING) is_free, +SAFE_CAST(requires_registration AS STRING) requires_registration, +SAFE_CAST(availability AS STRING) availability, +SAFE_CAST(spatial_coverage AS STRING) spatial_coverage, +SAFE_CAST(temporal_coverage AS STRING) temporal_coverage, +SAFE_CAST(update_frequency AS STRING) update_frequency, +SAFE_CAST(observation_level AS STRING) observation_level +FROM basedosdados-dev.br_bd_metadados_staging.external_links AS t \ No newline at end of file diff --git a/bases/br_bd_metadados/external_links/schema-prod.json b/bases/br_bd_metadados/external_links/schema-prod.json new file mode 100644 index 000000000..23c95e398 --- /dev/null +++ b/bases/br_bd_metadados/external_links/schema-prod.json @@ -0,0 +1 @@ +[{"name": "dataset_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "DATE", "mode": "NULLABLE"}, {"name": "date_last_modified", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "DATE", "mode": "NULLABLE"}, {"name": "url", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "language", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "has_structured_data", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "has_api", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "is_free", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "requires_registration", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "availability", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "spatial_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "temporal_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "update_frequency", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "observation_level", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/external_links/schema-staging.json b/bases/br_bd_metadados/external_links/schema-staging.json new file mode 100644 index 000000000..208507011 --- /dev/null +++ b/bases/br_bd_metadados/external_links/schema-staging.json @@ -0,0 +1 @@ +[{"name": "dataset_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "date_last_modified", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "url", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "language", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "has_structured_data", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "has_api", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "is_free", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "requires_registration", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "availability", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "spatial_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "temporal_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "update_frequency", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "observation_level", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/external_links/table_config.yaml b/bases/br_bd_metadados/external_links/table_config.yaml new file mode 100644 index 000000000..2bdaaf14a --- /dev/null +++ b/bases/br_bd_metadados/external_links/table_config.yaml @@ -0,0 +1,333 @@ + +# Igual ao dataset.name mas como lower case. +# Exemplos: br_ibge_populacao, br_inep_censo_escolar +dataset_id: br_bd_metadados + +table_id: external_links + +# Título da tabela. +title: Fontes externas na BD+ + +# Descreva a tabela. Essas são as primeiras frases que um usuário vai ver. +# Você não precisa ser muito conciso. Sinta-se a vontade para dar exemplos de +# como usar os dados. +# Se souber, liste também aplicações: pesquisa, apps, etc. que usem os dados., +description: Fontes externas na BD+ + +# As máximas unidades espaciais que a tabela cobre. +# Exemplo: +# - sa.br +spatial_coverage: + - world + +# Anos cobertos pela tabela. +# Preencher como lista de intervalos. +# Exemplos: ['1995(1)2019'], ['2002(2)2010', '2016', '2020']. +temporal_coverage: 2022-03-13 + +# A unidade temporal com qual a tabela é atualizada. +# Opções em 'https://basedosdados.org/api/3/action/bd_available_options' +update_frequency: day + +# Nível de observação da tabela: o que representa cada linha. +observation_level: + - entity: other + columns: + - id + +last_updated: + metadata: '2023-03-07' + data: '2023-03-07 14:54:00' + release: '2023-03-07 14:54:00' + +# Versão da tabela. Seguindo o padrão de semantic versioning. +# Exemplo: v1.1.3 +version: v1.0 + +# Quem está preenchendo esses metadados? +published_by: + name: Patrick Teixeira + email: Patrick.teixeira@basedosdados.org + github_user: tricktx + ckan_user: patrickteixeira + website: + +# Qual organização/departamento/pessoa tratou os dados? +# As vezes há um ponto intermediário entre os dados originais e subir na Base dos Dados. +# Se essa pessoa é você, preencha abaixo com suas informações. +data_cleaned_by: + name: Ricardo Dahis + email: rdahis@basedosdados.org + github_user: rdahis + ckan_user: rdahis + website: www.ricardodahis.com + +# Se houve passos de tratamento, limpeza e manipulação de dados, descreva-os aqui. +data_cleaning_description: + +# Url do código de limpeza dos dados. +data_cleaning_code_url: + +# Organização que ajudou institucionalmente na disponibilização dos dados. +partner_organization: + name: + organization_id: + +# Url dos dados originais no GCP Storage. +raw_files_url: + +# Url dos arquivos auxiliares no GCP Storage. +auxiliary_files_url: + +# Url da tabela de arquitetura no GCP Storage. +architecture_url: + +source_bucket_name: basedosdados-dev + +project_id_prod: basedosdados-dev + +project_id_staging: basedosdados-dev + +# Liste as colunas da tabela que representam partições. +# Não esqueça de deletar essas colunas nas tabelas .csv na hora de subir para o BigQuery. +# Isso poupará muito tempo e dinheiro às pessoas utilizando essa tabela. +# Se não houver partições, não modifique abaixo. +partitions: + +# Quais são as colunas? Certifique-se de escrever uma boa descrição, as pessoas vão gostar +# para saber sobre o que é a coluna. +# Adicionar todas as colunas manualmente pode ser bastante cansativo, por isso, quando +# inicializando este arquivo de configuração, você pode apontar a função para uma amostra de dados que +# preencherá automaticamente as colunas. +# Algumas colunas existirão apenas na tabela final, você as construirá em `publish.sql`. +# Para esses, defina is_in_staging como False. +# Além disso, você deve adicionar as colunas de partição aqui e definir is_partition como True. +columns: + - name: dataset_id + bigquery_type: string + description: Dataset ID + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: id + bigquery_type: string + description: ID + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: name + bigquery_type: string + description: Name + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: date_created + bigquery_type: date + description: Created Date + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: br_bd_diretorios_data_tempo + table_id: data + column_name: data + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: date_last_modified + bigquery_type: date + description: Last Modified Date + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: br_bd_diretorios_data_tempo + table_id: data + column_name: data + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: url + bigquery_type: string + description: url + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: language + bigquery_type: string + description: Language + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: has_structured_data + bigquery_type: string + description: Has structured data + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: has_api + bigquery_type: string + description: Has api + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: is_free + bigquery_type: string + description: Is free + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: requires_registration + bigquery_type: string + description: Requires registration + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: availability + bigquery_type: string + description: Availability + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: spatial_coverage + bigquery_type: string + description: Spatial coverage + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: temporal_coverage + bigquery_type: string + description: Temporal coverage + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: update_frequency + bigquery_type: string + description: Update frequency + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: observation_level + bigquery_type: string + description: Observation level + temporal_coverage: (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + +number_rows: 1259 + +metadata_modified: diff --git a/bases/br_bd_metadados/external_links/table_description.txt b/bases/br_bd_metadados/external_links/table_description.txt new file mode 100644 index 000000000..93d38c5cf --- /dev/null +++ b/bases/br_bd_metadados/external_links/table_description.txt @@ -0,0 +1,41 @@ +None + +Para saber mais acesse: +Website: +Github: + +Ajude a manter o projeto :) +Apoia-se: https://apoia.se/basedosdados + +Publicado por +------------- +Nome: None +Código: +Tratado por +----------- +Nome: None +Código: + + + + + + +Cobertura Temporal +------------------ + + + + +Cobertura Espacial +------------------ + + + + + + + +Frequencia de Atualização +------------------------- +day diff --git a/bases/br_bd_metadados/information_requests/publish.sql b/bases/br_bd_metadados/information_requests/publish.sql new file mode 100644 index 000000000..20069bf40 --- /dev/null +++ b/bases/br_bd_metadados/information_requests/publish.sql @@ -0,0 +1,38 @@ +/* +Query para publicar a tabela. + +Esse é o lugar para: + - modificar nomes, ordem e tipos de colunas + - dar join com outras tabelas + - criar colunas extras (e.g. logs, proporções, etc.) + +Qualquer coluna definida aqui deve também existir em `table_config.yaml`. + +# Além disso, sinta-se à vontade para alterar alguns nomes obscuros +# para algo um pouco mais explícito. + +TIPOS: + - Para modificar tipos de colunas, basta substituir STRING por outro tipo válido. + - Exemplo: `SAFE_CAST(column_name AS NUMERIC) column_name` + - Mais detalhes: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types +*/ + +CREATE VIEW basedosdados-dev.br_bd_metadados.information_requests AS +SELECT +SAFE_CAST(dataset_id AS STRING) dataset_id, +SAFE_CAST(id AS STRING) id, +SAFE_CAST(name AS STRING) name, +SAFE_CAST(date_created AS DATE) date_created, +SAFE_CAST(date_last_modified AS DATE) date_last_modified, +SAFE_CAST(url AS STRING) url, +SAFE_CAST(origin AS STRING) origin, +SAFE_CAST(number AS STRING) number, +SAFE_CAST(opening_date AS DATE) opening_date, +SAFE_CAST(requested_by AS STRING) requested_by, +SAFE_CAST(status AS STRING) status, +SAFE_CAST(data_url AS STRING) data_url, +SAFE_CAST(spatial_coverage AS STRING) spatial_coverage, +SAFE_CAST(temporal_coverage AS STRING) temporal_coverage, +SAFE_CAST(update_frequency AS STRING) update_frequency, +SAFE_CAST(observation_level AS STRING) observation_level +FROM basedosdados-dev.br_bd_metadados_staging.information_requests AS t \ No newline at end of file diff --git a/bases/br_bd_metadados/information_requests/schema-prod.json b/bases/br_bd_metadados/information_requests/schema-prod.json new file mode 100644 index 000000000..4ca2b4337 --- /dev/null +++ b/bases/br_bd_metadados/information_requests/schema-prod.json @@ -0,0 +1 @@ +[{"name": "dataset_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "DATE", "mode": "NULLABLE"}, {"name": "date_last_modified", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "DATE", "mode": "NULLABLE"}, {"name": "url", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "origin", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "number", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "opening_date", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "DATE", "mode": "NULLABLE"}, {"name": "requested_by", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "status", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "data_url", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "spatial_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "temporal_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "update_frequency", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "observation_level", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/information_requests/schema-staging.json b/bases/br_bd_metadados/information_requests/schema-staging.json new file mode 100644 index 000000000..b3a7e60bf --- /dev/null +++ b/bases/br_bd_metadados/information_requests/schema-staging.json @@ -0,0 +1 @@ +[{"name": "dataset_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "date_last_modified", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "url", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "origin", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "number", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "opening_date", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "requested_by", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "status", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "data_url", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "spatial_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "temporal_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "update_frequency", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "observation_level", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/information_requests/table_config.yaml b/bases/br_bd_metadados/information_requests/table_config.yaml new file mode 100644 index 000000000..c0b960abd --- /dev/null +++ b/bases/br_bd_metadados/information_requests/table_config.yaml @@ -0,0 +1,349 @@ +# Igual ao dataset.name mas como lower case. +# Exemplos: br_ibge_populacao, br_inep_censo_escolar +dataset_id: br_bd_metadados + +table_id: information_requests + +# Título da tabela. +title: Pedidos LAI na BD+ + +# Descreva a tabela. Essas são as primeiras frases que um usuário vai ver. +# Você não precisa ser muito conciso. Sinta-se a vontade para dar exemplos de +# como usar os dados. +# Se souber, liste também aplicações: pesquisa, apps, etc. que usem os dados., +description: Pedidos LAI na BD+ + +# As máximas unidades espaciais que a tabela cobre. +# Exemplo: +# - sa.br +spatial_coverage: + - world + +# Anos cobertos pela tabela. +# Preencher como lista de intervalos. +# Exemplos: ['1995(1)2019'], ['2002(2)2010', '2016', '2020']. +temporal_coverage: + - '2023-03-15' + +# A unidade temporal com qual a tabela é atualizada. +# Opções em 'https://basedosdados.org/api/3/action/bd_available_options' +update_frequency: day + +# Nível de observação da tabela: o que representa cada linha. +observation_level: + - entity: request + columns: + - id + +last_updated: + metadata: '2023-03-07' + data: '2023-03-07 14:54:00' + release: '2023-03-07 14:54:00' + +# Versão da tabela. Seguindo o padrão de semantic versioning. +# Exemplo: v1.1.3 +version: v1.0 + +# Quem está preenchendo esses metadados? +published_by: + name: Patrick Teixeira + email: Patrick.teixeira@basedosdados.org + github_user: tricktx + ckan_user: patrickteixeira + website: + +# Qual organização/departamento/pessoa tratou os dados? +# As vezes há um ponto intermediário entre os dados originais e subir na Base dos Dados. +# Se essa pessoa é você, preencha abaixo com suas informações. +data_cleaned_by: + name: Ricardo Dahis + email: rdahis@basedosdados.org + github_user: rdahis + ckan_user: rdahis + website: www.ricardodahis.com + +# Se houve passos de tratamento, limpeza e manipulação de dados, descreva-os aqui. +data_cleaning_description: + +# Url do código de limpeza dos dados. +data_cleaning_code_url: + +# Organização que ajudou institucionalmente na disponibilização dos dados. +partner_organization: + name: + organization_id: + +# Url dos dados originais no GCP Storage. +raw_files_url: + +# Url dos arquivos auxiliares no GCP Storage. +auxiliary_files_url: + +# Url da tabela de arquitetura no GCP Storage. +architecture_url: + +source_bucket_name: basedosdados-dev + +project_id_prod: basedosdados-dev + +project_id_staging: basedosdados-dev + +# Liste as colunas da tabela que representam partições. +# Não esqueça de deletar essas colunas nas tabelas .csv na hora de subir para o BigQuery. +# Isso poupará muito tempo e dinheiro às pessoas utilizando essa tabela. +# Se não houver partições, não modifique abaixo. +partitions: + +# Quais são as colunas? Certifique-se de escrever uma boa descrição, as pessoas vão gostar +# para saber sobre o que é a coluna. +# Adicionar todas as colunas manualmente pode ser bastante cansativo, por isso, quando +# inicializando este arquivo de configuração, você pode apontar a função para uma amostra de dados que +# preencherá automaticamente as colunas. +# Algumas colunas existirão apenas na tabela final, você as construirá em `publish.sql`. +# Para esses, defina is_in_staging como False. +# Além disso, você deve adicionar as colunas de partição aqui e definir is_partition como True. +columns: + - name: dataset_id + bigquery_type: string + description: Dataset ID + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: id + bigquery_type: string + description: ID + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: name + bigquery_type: string + description: Name + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: date_created + bigquery_type: date + description: Created Date + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: br_bd_diretorios_data_tempo + table_id: data + column_name: data + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: date_last_modified + bigquery_type: date + description: Last Modified Date + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: br_bd_diretorios_data_tempo + table_id: data + column_name: data + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: url + bigquery_type: string + description: url + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: origin + bigquery_type: string + description: Origin + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: number + bigquery_type: string + description: Number + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: opening_date + bigquery_type: date + description: Opening date + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: requested_by + bigquery_type: string + description: Requested by + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: status + bigquery_type: string + description: Status + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: data_url + bigquery_type: string + description: Data url + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: spatial_coverage + bigquery_type: string + description: Spatial Coverage + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: temporal_coverage + bigquery_type: string + description: Temporal Coverage + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: update_frequency + bigquery_type: string + description: Update Frequency + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: observation_level + bigquery_type: string + description: Observation Level + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + +number_rows: 389 + +metadata_modified: diff --git a/bases/br_bd_metadados/information_requests/table_description.txt b/bases/br_bd_metadados/information_requests/table_description.txt new file mode 100644 index 000000000..93d38c5cf --- /dev/null +++ b/bases/br_bd_metadados/information_requests/table_description.txt @@ -0,0 +1,41 @@ +None + +Para saber mais acesse: +Website: +Github: + +Ajude a manter o projeto :) +Apoia-se: https://apoia.se/basedosdados + +Publicado por +------------- +Nome: None +Código: +Tratado por +----------- +Nome: None +Código: + + + + + + +Cobertura Temporal +------------------ + + + + +Cobertura Espacial +------------------ + + + + + + + +Frequencia de Atualização +------------------------- +day diff --git a/bases/br_bd_metadados/organizations/publish.sql b/bases/br_bd_metadados/organizations/publish.sql new file mode 100644 index 000000000..8dc3f53a6 --- /dev/null +++ b/bases/br_bd_metadados/organizations/publish.sql @@ -0,0 +1,29 @@ +/* +Query para publicar a tabela. + +Esse é o lugar para: + - modificar nomes, ordem e tipos de colunas + - dar join com outras tabelas + - criar colunas extras (e.g. logs, proporções, etc.) + +Qualquer coluna definida aqui deve também existir em `table_config.yaml`. + +# Além disso, sinta-se à vontade para alterar alguns nomes obscuros +# para algo um pouco mais explícito. + +TIPOS: + - Para modificar tipos de colunas, basta substituir STRING por outro tipo válido. + - Exemplo: `SAFE_CAST(column_name AS NUMERIC) column_name` + - Mais detalhes: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types +*/ + +CREATE VIEW basedosdados-dev.br_bd_metadados.organizations AS +SELECT +SAFE_CAST(id AS STRING) id, +SAFE_CAST(name AS STRING) name, +SAFE_CAST(description AS STRING) description, +SAFE_CAST(display_name AS STRING) display_name, +SAFE_CAST(title AS STRING) title, +SAFE_CAST(package_count AS INT64) package_count, +SAFE_CAST(date_created AS DATE) date_created, +FROM basedosdados-dev.br_bd_metadados_staging.organizations AS t \ No newline at end of file diff --git a/bases/br_bd_metadados/organizations/schema-prod.json b/bases/br_bd_metadados/organizations/schema-prod.json new file mode 100644 index 000000000..2f820cdbf --- /dev/null +++ b/bases/br_bd_metadados/organizations/schema-prod.json @@ -0,0 +1 @@ +[{"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING", "mode": "NULLABLE"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING", "mode": "NULLABLE"}, {"name": "description", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING", "mode": "NULLABLE"}, {"name": "display_name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING", "mode": "NULLABLE"}, {"name": "title", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING", "mode": "NULLABLE"}, {"name": "package_count", "bigquery_type": "int64", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "INTEGER", "mode": "NULLABLE"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "DATE", "mode": "NULLABLE"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/organizations/schema-staging.json b/bases/br_bd_metadados/organizations/schema-staging.json new file mode 100644 index 000000000..8f49f7464 --- /dev/null +++ b/bases/br_bd_metadados/organizations/schema-staging.json @@ -0,0 +1 @@ +[{"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING"}, {"name": "description", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING"}, {"name": "display_name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING"}, {"name": "title", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING"}, {"name": "package_count", "bigquery_type": "int64", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": true, "is_partition": false, "type": "STRING"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/organizations/table_config.yaml b/bases/br_bd_metadados/organizations/table_config.yaml new file mode 100644 index 000000000..6dea96b90 --- /dev/null +++ b/bases/br_bd_metadados/organizations/table_config.yaml @@ -0,0 +1,214 @@ +# Igual ao dataset.name mas como lower case. +# Exemplos: br_ibge_populacao, br_inep_censo_escolar +dataset_id: br_bd_metadados + +table_id: organizations + +# Título da tabela. +title: Organizações na BD+ + +# Descreva a tabela. Essas são as primeiras frases que um usuário vai ver. +# Você não precisa ser muito conciso. Sinta-se a vontade para dar exemplos de +# como usar os dados. +# Se souber, liste também aplicações: pesquisa, apps, etc. que usem os dados., +description: Organizações na BD+ + +# As máximas unidades espaciais que a tabela cobre. +# Exemplo: +# - sa.br +spatial_coverage: + - world + +# Anos cobertos pela tabela. +# Preencher como lista de intervalos. +# Exemplos: ['1995(1)2019'], ['2002(2)2010', '2016', '2020']. +temporal_coverage: + - '2023-03-15' + +# A unidade temporal com qual a tabela é atualizada. +# Opções em 'https://basedosdados.org/api/3/action/bd_available_options' +update_frequency: day + +# Nível de observação da tabela: o que representa cada linha. +observation_level: + - entity: name + columns: + - name + +last_updated: + metadata: '2023-03-07' + data: '2023-03-07 14:54:00' + release: '2023-03-07 14:54:00' + +# Versão da tabela. Seguindo o padrão de semantic versioning. +# Exemplo: v1.1.3 +version: v1.0 + +# Quem está preenchendo esses metadados? +published_by: + name: Patrick Teixeira + email: Patrick.teixeira@basedosdados.org + github_user: tricktx + ckan_user: patrickteixeira + website: + +# Qual organização/departamento/pessoa tratou os dados? +# As vezes há um ponto intermediário entre os dados originais e subir na Base dos Dados. +# Se essa pessoa é você, preencha abaixo com suas informações. +data_cleaned_by: + name: Ricardo Dahis + email: rdahis@basedosdados.org + github_user: rdahis + ckan_user: rdahis + website: www.ricardodahis.com + +# Se houve passos de tratamento, limpeza e manipulação de dados, descreva-os aqui. +data_cleaning_description: + +# Url do código de limpeza dos dados. +data_cleaning_code_url: + +# Organização que ajudou institucionalmente na disponibilização dos dados. +partner_organization: + name: + organization_id: + +# Url dos dados originais no GCP Storage. +raw_files_url: + +# Url dos arquivos auxiliares no GCP Storage. +auxiliary_files_url: + +# Url da tabela de arquitetura no GCP Storage. +architecture_url: + +source_bucket_name: basedosdados-dev + +project_id_prod: basedosdados-dev + +project_id_staging: basedosdados-dev + +# Liste as colunas da tabela que representam partições. +# Não esqueça de deletar essas colunas nas tabelas .csv na hora de subir para o BigQuery. +# Isso poupará muito tempo e dinheiro às pessoas utilizando essa tabela. +# Se não houver partições, não modifique abaixo. +partitions: + +# Quais são as colunas? Certifique-se de escrever uma boa descrição, as pessoas vão gostar +# para saber sobre o que é a coluna. +# Adicionar todas as colunas manualmente pode ser bastante cansativo, por isso, quando +# inicializando este arquivo de configuração, você pode apontar a função para uma amostra de dados que +# preencherá automaticamente as colunas. +# Algumas colunas existirão apenas na tabela final, você as construirá em `publish.sql`. +# Para esses, defina is_in_staging como False. +# Além disso, você deve adicionar as colunas de partição aqui e definir is_partition como True. +columns: + - name: id + bigquery_type: string + description: ID + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: name + bigquery_type: string + description: Name + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: description + bigquery_type: string + description: Description + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: display_name + bigquery_type: string + description: Display name + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: title + bigquery_type: string + description: Title + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: package_count + bigquery_type: int64 + description: Package Count + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: date_created + bigquery_type: date + description: Created Date + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: br_bd_diretorios_data_tempo + table_id: data + column_name: data + measurement_unit: date + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + +number_rows: 554 + +metadata_modified: diff --git a/bases/br_bd_metadados/organizations/table_description.txt b/bases/br_bd_metadados/organizations/table_description.txt new file mode 100644 index 000000000..574fd95a4 --- /dev/null +++ b/bases/br_bd_metadados/organizations/table_description.txt @@ -0,0 +1,45 @@ +Organizações na BD+ + +Para saber mais acesse: +Website: +Github: + +Ajude a manter o projeto :) +Apoia-se: https://apoia.se/basedosdados + +Publicado por +------------- +Nome: Ricardo Dahis +Código: +Website: www.ricardodahis.com +Email: rdahis@basedosdados.org +Tratado por +----------- +Nome: Ricardo Dahis +Código: +Website: www.ricardodahis.com +Email: rdahis@basedosdados.org + + + + + + +Cobertura Temporal +------------------ + + + + +Cobertura Espacial +------------------ + + + + + + + +Frequencia de Atualização +------------------------- +day diff --git a/bases/br_bd_metadados/resources/publish.sql b/bases/br_bd_metadados/resources/publish.sql new file mode 100644 index 000000000..c757c60c8 --- /dev/null +++ b/bases/br_bd_metadados/resources/publish.sql @@ -0,0 +1,28 @@ +/* +Query para publicar a tabela. + +Esse é o lugar para: + - modificar nomes, ordem e tipos de colunas + - dar join com outras tabelas + - criar colunas extras (e.g. logs, proporções, etc.) + +Qualquer coluna definida aqui deve também existir em `table_config.yaml`. + +# Além disso, sinta-se à vontade para alterar alguns nomes obscuros +# para algo um pouco mais explícito. + +TIPOS: + - Para modificar tipos de colunas, basta substituir STRING por outro tipo válido. + - Exemplo: `SAFE_CAST(column_name AS NUMERIC) column_name` + - Mais detalhes: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types +*/ + +CREATE VIEW basedosdados-dev.br_bd_metadados.resources AS +SELECT +SAFE_CAST(dataset_id AS STRING) dataset_id, +SAFE_CAST(id AS STRING) id, +SAFE_CAST(name AS STRING) name, +SAFE_CAST(date_created AS DATE) date_created, +SAFE_CAST(date_last_modified AS DATE) date_last_modified, +SAFE_CAST(type AS STRING) type +FROM basedosdados-dev.br_bd_metadados_staging.resources AS t \ No newline at end of file diff --git a/bases/br_bd_metadados/resources/schema-prod.json b/bases/br_bd_metadados/resources/schema-prod.json new file mode 100644 index 000000000..7f1097740 --- /dev/null +++ b/bases/br_bd_metadados/resources/schema-prod.json @@ -0,0 +1 @@ +[{"name": "dataset_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "DATE", "mode": "NULLABLE"}, {"name": "date_last_modified", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "DATE", "mode": "NULLABLE"}, {"name": "type", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/resources/schema-staging.json b/bases/br_bd_metadados/resources/schema-staging.json new file mode 100644 index 000000000..d8d3947b0 --- /dev/null +++ b/bases/br_bd_metadados/resources/schema-staging.json @@ -0,0 +1 @@ +[{"name": "dataset_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "date_last_modified", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "type", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/resources/table_config.yaml b/bases/br_bd_metadados/resources/table_config.yaml new file mode 100644 index 000000000..55c225621 --- /dev/null +++ b/bases/br_bd_metadados/resources/table_config.yaml @@ -0,0 +1,199 @@ +# Igual ao dataset.name mas como lower case. +# Exemplos: br_ibge_populacao, br_inep_censo_escolar +dataset_id: br_bd_metadados + +table_id: resources + +# Título da tabela. +title: Recursos na BD+, incluindo tabelas, pedidos LAI e links externos + +# Descreva a tabela. Essas são as primeiras frases que um usuário vai ver. +# Você não precisa ser muito conciso. Sinta-se a vontade para dar exemplos de +# como usar os dados. +# Se souber, liste também aplicações: pesquisa, apps, etc. que usem os dados., +description: Recursos na BD+ + +# As máximas unidades espaciais que a tabela cobre. +# Exemplo: +# - sa.br +spatial_coverage: + - world + +# Anos cobertos pela tabela. +# Preencher como lista de intervalos. +# Exemplos: ['1995(1)2019'], ['2002(2)2010', '2016', '2020']. +temporal_coverage: + - '2023-03-15' + +# A unidade temporal com qual a tabela é atualizada. +# Opções em 'https://basedosdados.org/api/3/action/bd_available_options' +update_frequency: day + +# Nível de observação da tabela: o que representa cada linha. +observation_level: + - entity: other + columns: + - id + +last_updated: + metadata: '2023-03-07' + data: '2023-03-07 14:54:00' + release: '2023-03-07 14:54:00' + +# Versão da tabela. Seguindo o padrão de semantic versioning. +# Exemplo: v1.1.3 +version: v1.0 + +# Quem está preenchendo esses metadados? +published_by: + name: Patrick Teixeira + email: Patrick.teixeira@basedosdados.org + github_user: tricktx + ckan_user: patrickteixeira + website: + +# Qual organização/departamento/pessoa tratou os dados? +# As vezes há um ponto intermediário entre os dados originais e subir na Base dos Dados. +# Se essa pessoa é você, preencha abaixo com suas informações. +data_cleaned_by: + name: Ricardo Dahis + email: rdahis@basedosdados.org + github_user: rdahis + ckan_user: rdahis + website: www.ricardodahis.com + +# Se houve passos de tratamento, limpeza e manipulação de dados, descreva-os aqui. +data_cleaning_description: + +# Url do código de limpeza dos dados. +data_cleaning_code_url: + +# Organização que ajudou institucionalmente na disponibilização dos dados. +partner_organization: + name: + organization_id: + +# Url dos dados originais no GCP Storage. +raw_files_url: + +# Url dos arquivos auxiliares no GCP Storage. +auxiliary_files_url: + +# Url da tabela de arquitetura no GCP Storage. +architecture_url: + +source_bucket_name: basedosdados-dev + +project_id_prod: basedosdados-dev + +project_id_staging: basedosdados-dev + +# Liste as colunas da tabela que representam partições. +# Não esqueça de deletar essas colunas nas tabelas .csv na hora de subir para o BigQuery. +# Isso poupará muito tempo e dinheiro às pessoas utilizando essa tabela. +# Se não houver partições, não modifique abaixo. +partitions: + +# Quais são as colunas? Certifique-se de escrever uma boa descrição, as pessoas vão gostar +# para saber sobre o que é a coluna. +# Adicionar todas as colunas manualmente pode ser bastante cansativo, por isso, quando +# inicializando este arquivo de configuração, você pode apontar a função para uma amostra de dados que +# preencherá automaticamente as colunas. +# Algumas colunas existirão apenas na tabela final, você as construirá em `publish.sql`. +# Para esses, defina is_in_staging como False. +# Além disso, você deve adicionar as colunas de partição aqui e definir is_partition como True. +columns: + - name: dataset_id + bigquery_type: string + description: Dataset ID + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: id + bigquery_type: string + description: ID + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: name + bigquery_type: string + description: Name + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: date_created + bigquery_type: date + description: Created Date + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: date + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: date_last_modified + bigquery_type: date + description: Last Modified Data + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: date + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: type + bigquery_type: string + description: Type + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + +number_rows: 1648 + +metadata_modified: diff --git a/bases/br_bd_metadados/resources/table_description.txt b/bases/br_bd_metadados/resources/table_description.txt new file mode 100644 index 000000000..93d38c5cf --- /dev/null +++ b/bases/br_bd_metadados/resources/table_description.txt @@ -0,0 +1,41 @@ +None + +Para saber mais acesse: +Website: +Github: + +Ajude a manter o projeto :) +Apoia-se: https://apoia.se/basedosdados + +Publicado por +------------- +Nome: None +Código: +Tratado por +----------- +Nome: None +Código: + + + + + + +Cobertura Temporal +------------------ + + + + +Cobertura Espacial +------------------ + + + + + + + +Frequencia de Atualização +------------------------- +day diff --git a/bases/br_bd_metadados/tables/publish.sql b/bases/br_bd_metadados/tables/publish.sql new file mode 100644 index 000000000..3acdf927b --- /dev/null +++ b/bases/br_bd_metadados/tables/publish.sql @@ -0,0 +1,34 @@ +/* +Query para publicar a tabela. + +Esse é o lugar para: + - modificar nomes, ordem e tipos de colunas + - dar join com outras tabelas + - criar colunas extras (e.g. logs, proporções, etc.) + +Qualquer coluna definida aqui deve também existir em `table_config.yaml`. + +# Além disso, sinta-se à vontade para alterar alguns nomes obscuros +# para algo um pouco mais explícito. + +TIPOS: + - Para modificar tipos de colunas, basta substituir STRING por outro tipo válido. + - Exemplo: `SAFE_CAST(column_name AS NUMERIC) column_name` + - Mais detalhes: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types +*/ + +CREATE VIEW basedosdados-dev.br_bd_metadados.tables AS +SELECT +SAFE_CAST(dataset_id AS STRING) dataset_id, +SAFE_CAST(id AS STRING) id, +SAFE_CAST(name AS STRING) name, +SAFE_CAST(date_created AS DATE) date_created, +SAFE_CAST(date_last_modified AS DATE) date_last_modified, +SAFE_CAST(spatial_coverage AS STRING) spatial_coverage, +SAFE_CAST(temporal_coverage AS STRING) temporal_coverage, +SAFE_CAST(update_frequency AS STRING) update_frequency, +SAFE_CAST(observation_level AS STRING) observation_level, +SAFE_CAST(number_rows AS INT64) number_rows, +SAFE_CAST(number_columns AS INT64) number_columns, +SAFE_CAST(outdated AS INT64) outdated +FROM basedosdados-dev.br_bd_metadados_staging.tables AS t \ No newline at end of file diff --git a/bases/br_bd_metadados/tables/schema-prod.json b/bases/br_bd_metadados/tables/schema-prod.json new file mode 100644 index 000000000..c2f61d498 --- /dev/null +++ b/bases/br_bd_metadados/tables/schema-prod.json @@ -0,0 +1 @@ +[{"name": "dataset_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "DATE", "mode": "NULLABLE"}, {"name": "date_last_modified", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "DATE", "mode": "NULLABLE"}, {"name": "spatial_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "temporal_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "update_frequency", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "observation_level", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING", "mode": "NULLABLE"}, {"name": "number_rows", "bigquery_type": "int64", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "INTEGER", "mode": "NULLABLE"}, {"name": "number_columns", "bigquery_type": "int64", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "INTEGER", "mode": "NULLABLE"}, {"name": "outdated", "bigquery_type": "int64", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "INTEGER", "mode": "NULLABLE"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/tables/schema-staging.json b/bases/br_bd_metadados/tables/schema-staging.json new file mode 100644 index 000000000..7e3189075 --- /dev/null +++ b/bases/br_bd_metadados/tables/schema-staging.json @@ -0,0 +1 @@ +[{"name": "dataset_id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "id", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "name", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "date_created", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "date_last_modified", "bigquery_type": "date", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "spatial_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "temporal_coverage", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "update_frequency", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "observation_level", "bigquery_type": "string", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "number_rows", "bigquery_type": "int64", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "number_columns", "bigquery_type": "int64", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}, {"name": "outdated", "bigquery_type": "int64", "description": null, "temporal_coverage": null, "covered_by_dictionary": null, "directory_column": {"dataset_id": null, "table_id": null, "column_name": null}, "measurement_unit": null, "has_sensitive_data": null, "observations": null, "is_in_staging": null, "is_partition": null, "type": "STRING"}] \ No newline at end of file diff --git a/bases/br_bd_metadados/tables/table_config.yaml b/bases/br_bd_metadados/tables/table_config.yaml new file mode 100644 index 000000000..62c3da96b --- /dev/null +++ b/bases/br_bd_metadados/tables/table_config.yaml @@ -0,0 +1,290 @@ + +# Igual ao dataset.name mas como lower case. +# Exemplos: br_ibge_populacao, br_inep_censo_escolar +dataset_id: br_bd_metadados + +table_id: tables + +# Título da tabela. +title: Tabelas na BD+ + +# Descreva a tabela. Essas são as primeiras frases que um usuário vai ver. +# Você não precisa ser muito conciso. Sinta-se a vontade para dar exemplos de +# como usar os dados. +# Se souber, liste também aplicações: pesquisa, apps, etc. que usem os dados., +description: Tabelas na BD+ + +# As máximas unidades espaciais que a tabela cobre. +# Exemplo: +# - sa.br +spatial_coverage: + - world + +# Anos cobertos pela tabela. +# Preencher como lista de intervalos. +# Exemplos: ['1995(1)2019'], ['2002(2)2010', '2016', '2020']. +temporal_coverage: + - '2023-03-15' + +# A unidade temporal com qual a tabela é atualizada. +# Opções em 'https://basedosdados.org/api/3/action/bd_available_options' +update_frequency: day + +# Nível de observação da tabela: o que representa cada linha. +observation_level: + - entity: other + columns: + - id + +last_updated: + metadata: '2023-03-07' + data: '2023-03-07 14:54:00' + release: '2023-03-07 14:54:00' + +# Versão da tabela. Seguindo o padrão de semantic versioning. +# Exemplo: v1.1.3 +version: v1.0 + +# Quem está preenchendo esses metadados? +published_by: + name: Patrick Teixeira + email: Patrick.teixeira@basedosdados.org + github_user: tricktx + ckan_user: patrickteixeira + website: + +# Qual organização/departamento/pessoa tratou os dados? +# As vezes há um ponto intermediário entre os dados originais e subir na Base dos Dados. +# Se essa pessoa é você, preencha abaixo com suas informações. +data_cleaned_by: + name: Ricardo Dahis + email: rdahis@basedosdados.org + github_user: rdahis + ckan_user: rdahis + website: www.ricardodahis.com + +# Se houve passos de tratamento, limpeza e manipulação de dados, descreva-os aqui. +data_cleaning_description: + +# Url do código de limpeza dos dados. +data_cleaning_code_url: + +# Organização que ajudou institucionalmente na disponibilização dos dados. +partner_organization: + name: + organization_id: + +# Url dos dados originais no GCP Storage. +raw_files_url: + +# Url dos arquivos auxiliares no GCP Storage. +auxiliary_files_url: + +# Url da tabela de arquitetura no GCP Storage. +architecture_url: + +source_bucket_name: basedosdados-dev + +project_id_prod: basedosdados-dev + +project_id_staging: basedosdados-dev + +# Liste as colunas da tabela que representam partições. +# Não esqueça de deletar essas colunas nas tabelas .csv na hora de subir para o BigQuery. +# Isso poupará muito tempo e dinheiro às pessoas utilizando essa tabela. +# Se não houver partições, não modifique abaixo. +partitions: + +# Quais são as colunas? Certifique-se de escrever uma boa descrição, as pessoas vão gostar +# para saber sobre o que é a coluna. +# Adicionar todas as colunas manualmente pode ser bastante cansativo, por isso, quando +# inicializando este arquivo de configuração, você pode apontar a função para uma amostra de dados que +# preencherá automaticamente as colunas. +# Algumas colunas existirão apenas na tabela final, você as construirá em `publish.sql`. +# Para esses, defina is_in_staging como False. +# Além disso, você deve adicionar as colunas de partição aqui e definir is_partition como True. +columns: + - name: dataset_id + bigquery_type: string + description: Dataset ID + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: id + bigquery_type: string + description: ID + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: name + bigquery_type: string + description: Name + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: date_created + bigquery_type: date + description: Date Created + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: date_last_modified + bigquery_type: date + description: Last Modified Date + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: date + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: spatial_coverage + bigquery_type: string + description: Spatial Coverage + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: temporal_coverage + bigquery_type: string + description: Temporal Coverage + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: update_frequency + bigquery_type: string + description: Update Frequency + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: observation_level + bigquery_type: string + description: Observation Level + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: number_rows + bigquery_type: int64 + description: Number Rows + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: number_columns + bigquery_type: int64 + description: Number Columns + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + - name: outdated + bigquery_type: int64 + description: Outdated + temporal_coverage: + - (1) + covered_by_dictionary: no + directory_column: + dataset_id: + table_id: + column_name: + measurement_unit: + has_sensitive_data: no + observations: + is_in_staging: true + is_partition: false + +number_rows: 435 + +metadata_modified: diff --git a/bases/br_bd_metadados/tables/table_description.txt b/bases/br_bd_metadados/tables/table_description.txt new file mode 100644 index 000000000..93d38c5cf --- /dev/null +++ b/bases/br_bd_metadados/tables/table_description.txt @@ -0,0 +1,41 @@ +None + +Para saber mais acesse: +Website: +Github: + +Ajude a manter o projeto :) +Apoia-se: https://apoia.se/basedosdados + +Publicado por +------------- +Nome: None +Código: +Tratado por +----------- +Nome: None +Código: + + + + + + +Cobertura Temporal +------------------ + + + + +Cobertura Espacial +------------------ + + + + + + + +Frequencia de Atualização +------------------------- +day