-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
97 lines (82 loc) · 4.46 KB
/
Copy path.env.example
File metadata and controls
97 lines (82 loc) · 4.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Copie para .env e ajuste com os valores reais da infraestrutura do time.
# --- API Ceará Transparente ---
CEARA_TRANSPARENTE_API_URL=https://api-dados-abertos.cearatransparente.ce.gov.br/transparencia/contratos/contratos
CEARA_API_TIMEOUT_SECONDS=30
CEARA_API_SLEEP_SECONDS=1.0
CEARA_API_MAX_RETRIES=3
# --- PostgreSQL de origem (dados operacionais) ---
SOURCE_POSTGRES_URL=postgresql://usuario:senha@host:5432/ceara_transparente
# Máximo de linhas por arquivo JSON gravado na Bronze (empenhos/ordem_bancaria_orcamentaria).
POSTGRES_EXTRACT_CHUNK_SIZE=20000
# --- PostgreSQL de metadados do Airflow (docker-compose.yml, serviço `postgres`) ---
# Defaults abaixo (POSTGRES_USER=dlab/POSTGRES_PASSWORD=d123) só valem pro stack
# local descartável — em qualquer ambiente compartilhado, defina valores reais
# aqui (nunca no compose). AIRFLOW_ADMIN_USER/PASSWORD é o login da UI do Airflow.
POSTGRES_USER=dlab
POSTGRES_PASSWORD=d123
POSTGRES_DB=datalab
AIRFLOW_ADMIN_USER=admin
AIRFLOW_ADMIN_PASSWORD=admin
# --- Jupyter (docker-compose.yml, serviço `jupyter`) ---
JUPYTER_TOKEN=datalab
# --- Backing store do Hive Metastore (docker/postgres-init/01-metastore.sh +
# build args de docker/hive/Dockerfile) — mesmo padrão dos demais: default
# só vale pro stack local descartável. ---
METASTORE_DB_USER=hive
METASTORE_DB_PASSWORD=hive
# --- Destino da camada Bronze ---
# BRONZE_STORAGE_BACKEND=local grava em disco (bom para desenvolvimento local);
# BRONZE_STORAGE_BACKEND=hdfs grava no HDFS via WebHDFS (usar em conjunto com a infra do time).
BRONZE_STORAGE_BACKEND=local
BRONZE_BASE_PATH=./data/bronze
HDFS_WEBHDFS_URL=http://namenode:9870
HDFS_USER=hdfs
# --- Destino da camada Silver (Parquet) ---
# Mesmo padrão da Bronze acima (local ou hdfs). Reaproveita HDFS_WEBHDFS_URL/HDFS_USER.
SILVER_STORAGE_BACKEND=local
SILVER_BASE_PATH=./data/silver
# --- Hostname do HDFS (parametrizável: `namenode` no stack autônomo, `hadoop` no
# servidor). Usado por compose/HMS/Spark/Trino. Ver deploy/server-lakehouse/.
HDFS_HOST=namenode
# Obs.: o Data Warehouse Postgres (Gold dimensional) foi DESCONTINUADO — a Gold
# agora é Iceberg via dbt-trino (ver documentacao/gold-dbt-trino.md).
# --- Trino (consulta Silver/Gold Iceberg — usado pelos notebooks de EDA) ---
# Rodando dentro da rede do docker-compose (ex: serviço `jupyter`): TRINO_HOST=trino, TRINO_PORT=8080.
# Rodando fora, direto na máquina host: TRINO_HOST=localhost, TRINO_PORT=8085 (porta publicada no compose).
TRINO_HOST=trino
TRINO_PORT=8080
TRINO_USER=notebook
TRINO_HTTP_SCHEME=http
TRINO_CATALOG=iceberg
# --- validate_bronze (task 7 de docs/06-analise-critica.md) ---
# 0 (padrão) checa 100% dos registros de cada arquivo. Num valor > 0, checa só
# essa quantidade por arquivo (amostra determinística: início + fim + aleatório
# do meio) — reduz o custo O(todos os registros) da task em backfills grandes.
# A contagem total (usada no min_records) continua exata, independente da amostra.
BRONZE_VALIDATE_SAMPLE_SIZE=0
# --- src/trino_io.py (usado por models/*.py e src/reconciliation.py) ---
# Linhas por lote no INSERT em massa (sem executemany no driver Trino, cada
# lote é um round-trip). Só vale subir se algum modelo crescer muito além de
# ~200 mil linhas por execução — ver docs/03-pendencias-e-melhorias.md.
TRINO_BULK_INSERT_CHUNK_SIZE=5000
# --- IA Generativa — relatório narrativo (models/narrative_report.py, tarefa 25) ---
# Chave real fica só no .env local/servidor — NUNCA commitar aqui.
OPENAI_API_KEY=
# gpt-4o-mini é o modelo de baixo custo recomendado para essa tarefa (resumir
# dado tabular já pronto em texto não exige um modelo maior/mais caro).
OPENAI_MODEL=gpt-4o-mini
# --- MLflow tracking dos Modelos 1/2 (src/mlflow_utils.py, tarefa 29) ---
# Vazio (padrão) usa backend de arquivo local em models/artifacts/mlruns/ — sem
# servidor MLflow dedicado no stack. Sobrescreva só se subir um servidor real
# (ex: http://mlflow:5000).
MLFLOW_TRACKING_URI=
# --- Apache Superset (docker/superset/, camada de visualização — fala com o
# Trino nativamente via sqlalchemy-trino, ver stacks/apache-superset.md) ---
# Defaults abaixo só valem pro stack local descartável, mesmo padrão do resto.
SUPERSET_DB_USER=superset
SUPERSET_DB_PASSWORD=superset
SUPERSET_ADMIN_USER=admin
SUPERSET_ADMIN_PASSWORD=admin
# Chave usada pra assinar sessão/cookies — trocar por um valor real gerado
# (ex: `openssl rand -base64 42`) em qualquer ambiente compartilhado.
SUPERSET_SECRET_KEY=changeme-dev-only-secret-key