Dataplex é a plataforma de governança e gestão de dados do GCP. Centraliza catalogação, linhagem, qualidade, segurança e descoberta de dados distribuídos em GCS, BigQuery e outros sistemas.
É a peça central para implementar data mesh na GCP: permite que times donos de domínios gerenciem seus dados de forma autônoma com governança centralizada.
Conceitos principais
Lake, Zone e Asset (modelo legado, ainda disponível)
graph TD L[Lake] --> ZR["Zone Raw - GCS"] L --> ZC["Zone Curated - GCS e BQ"] L --> ZT["Zone Trusted - BQ"] ZC --> A1["gs://bucket-raw/"] ZC --> A2[projeto.dataset_curado] ZT --> A3[projeto.dataset_trusted]
Catalog (foco atual)
O Dataplex Universal Catalog é o substituto e evolução do Data Catalog legado. Centraliza:
- Entries: qualquer recurso de dados (tabela BQ, bucket GCS, modelo ML)
- Entry Groups: agrupamento lógico de entries
- Tags e Tag Templates: metadados personalizados aplicados a qualquer entry
- Linhagem: rastreia de onde os dados vieram e para onde foram
Data Quality
Dataplex inclui um engine de qualidade de dados nativo que roda checks diretamente no BigQuery ou GCS:
# Exemplo de spec de qualidade (YAML via API/Terraform)
rules:
- column: email
dimension: VALIDITY
non_null_expectation: {}
- column: valor
dimension: VALIDITY
range_expectation:
min_value: "0"
max_value: "1000000"
- column: status
dimension: VALIDITY
set_expectation:
values: ["ativo", "inativo", "pendente"]
- dimension: COMPLETENESS
threshold: 0.99
non_null_expectation: {}
column: cliente_idOs resultados são salvos em uma tabela BigQuery configurável e podem alimentar alertas.
Linhagem de dados
O Dataplex captura linhagem automaticamente para operações no BigQuery (jobs SQL, COPY, LOAD) e pode receber linhagem customizada via API:
from google.cloud import lineage_v1
client = lineage_v1.LineageClient()
# Registrar evento de linhagem customizado
process = lineage_v1.Process(display_name="meu-pipeline-etl")
run = lineage_v1.Run(display_name="execucao-2026-05-05")
event = lineage_v1.LineageEvent(
sources=[lineage_v1.EntityReference(fully_qualified_name="bigquery:projeto.raw.pedidos")],
targets=[lineage_v1.EntityReference(fully_qualified_name="bigquery:projeto.trusted.pedidos")],
)Tags e descoberta de metadados
from google.cloud import datacatalog_v1
client = datacatalog_v1.DataCatalogClient()
# Criar tag template
template = datacatalog_v1.TagTemplate()
template.fields["owner"] = datacatalog_v1.TagTemplateField(
display_name="Dono do dado",
type_=datacatalog_v1.FieldType(primitive_type="STRING"),
)
# Aplicar tag em uma tabela BigQuery
tag = datacatalog_v1.Tag()
tag.template = "projects/proj/locations/us/tagTemplates/meu_template"
tag.fields["owner"].string_value = "time-dados"Dataplex vs ferramentas similares
| Dataplex | dbt (testes) | Great Expectations | |
|---|---|---|---|
| Catálogo | Sim (nativo GCP) | Não | Não |
| Linhagem | Sim (automática BQ) | Parcial (manifests) | Não |
| Qualidade | Sim (nativo) | Sim (testes SQL) | Sim (Python) |
| Governança IAM | Sim | Não | Não |
| Onde roda | GCP | Qualquer warehouse | Qualquer fonte |
Integração com o ecossistema
- BigQuery: linhagem automática, quality scans, tags em tabelas
- Cloud Storage: discovery de arquivos, quality scans em Parquet/ORC/CSV
- Cloud Composer: operadores
DataplexCreateTaskOperatorpara agendar quality scans
Ver também: gcp | gcp-bigquery | gcp-cloud-storage | gcp-boas-praticas | data-lake-lakehouse | ferramentas-engenharia-dados