5分钟上手PostgreSQL元数据采集:OpenMetadata零代码实战指南
你是否还在为PostgreSQL数据库的元数据管理烦恼?表格结构混乱、字段含义模糊、数据血缘难以追踪?本文将带你用OpenMetadata实现PostgreSQL元数据的自动化采集,无需复杂编程,5分钟即可完成从部署到可视化的全流程。读完你将掌握:环境快速搭建、数据源配置、元数据采集执行、以及Web界面查看的完整操作。## 准备工作:环境部署与配置OpenMetadata提供了Docker
5分钟上手PostgreSQL元数据采集:OpenMetadata零代码实战指南
你是否还在为PostgreSQL数据库的元数据管理烦恼?表格结构混乱、字段含义模糊、数据血缘难以追踪?本文将带你用OpenMetadata实现PostgreSQL元数据的自动化采集,无需复杂编程,5分钟即可完成从部署到可视化的全流程。读完你将掌握:环境快速搭建、数据源配置、元数据采集执行、以及Web界面查看的完整操作。
准备工作:环境部署与配置
OpenMetadata提供了Docker一键部署方案,包含所有必要组件。首先克隆项目仓库:
git clone https://gitcode.com/GitHub_Trending/op/OpenMetadata
cd OpenMetadata
项目的Docker配置文件位于docker/docker-compose-openmetadata/docker-compose-openmetadata.yml,该文件定义了OpenMetadata服务、数据库和Elasticsearch等依赖。使用以下命令启动服务:
cd docker/docker-compose-openmetadata
docker-compose up -d
服务启动后,访问http://localhost:8585即可打开OpenMetadata Web界面,默认用户名密码为admin/admin。
PostgreSQL数据库准备
OpenMetadata需要连接PostgreSQL数据库以采集元数据。项目提供了PostgreSQL初始化脚本docker/postgresql/postgres-script.sql,其中包含创建数据库和用户的语句:
CREATE DATABASE openmetadata_db;
CREATE DATABASE airflow_db;
CREATE USER openmetadata_user WITH PASSWORD 'openmetadata_password';
ALTER DATABASE openmetadata_db OWNER TO openmetadata_user;
如需本地测试,可使用项目提供的Docker Compose配置快速启动PostgreSQL实例:
cd docker/postgresql
docker-compose up -d
配置数据源连接
在OpenMetadata Web界面中,导航至"Settings > Services > Database Services",点击"Add New Service",选择"PostgreSQL"。配置连接信息时,参考项目测试用例中的PostgreSQL连接参数ingestion/tests/cli_e2e/test_cli_postgres.py:
# 测试用例中的数据库连接配置示例
create_table_query: str = """
CREATE TABLE IF NOT EXISTS public.all_datatypes (
column1 bigint,
column2 bigserial,
...
column24 uuid
);
"""
在Web界面中填写以下关键信息:
- Service Name: postgres_demo
- Host Port: localhost:5432
- Database Name: openmetadata_db
- Username: openmetadata_user
- Password: openmetadata_password
执行元数据采集
配置完成后,创建采集工作流。在"Services"页面选择刚创建的PostgreSQL服务,点击"Add Ingestion",选择"Metadata Ingestion"。设置采集范围,可参考测试用例中的表过滤规则:
# 测试用例中的表过滤配置
@staticmethod
def get_includes_tables() -> List[str]:
return [".*all_datatypes.*"] # 匹配包含all_datatypes的表
设置完成后,点击"Run"立即执行采集,或配置定时任务。采集任务会提取表结构、字段类型、视图定义等元数据,并存储到OpenMetadata中。
查看元数据与数据血缘
采集完成后,在OpenMetadata Web界面的"Data Explorer"中查看PostgreSQL数据库的元数据。可查看表结构、字段描述、数据预览等信息。测试用例中创建的视图ingestion/tests/cli_e2e/test_cli_postgres.py:
CREATE OR REPLACE VIEW public.view_all_datatypes AS
SELECT * FROM public.all_datatypes;
在Web界面的"Lineage"标签页中,可查看视图与源表之间的数据血缘关系,测试用例中预期的血缘节点为:
@staticmethod
def expected_lineage_node() -> str:
return "local_postgres.E2EDB.public.view_all_datatypes"
常见问题解决
-
连接失败:检查PostgreSQL服务是否启动,网络是否可达。可参考Docker Compose配置中的网络设置docker/docker-compose-openmetadata/docker-compose-openmetadata.yml。
-
元数据不完整:确认数据库用户权限是否足够。测试用例中使用的用户具有表创建和查询权限,确保生产环境用户拥有类似权限。
-
采集任务失败:查看任务日志,位于OpenMetadata服务的logs目录。可通过Docker命令查看容器日志:
docker logs openmetadata_server
总结与后续操作
通过本文操作,你已成功实现PostgreSQL元数据的自动化采集。后续可探索:
- 配置数据质量检查,监控表字段的空值率、唯一性等指标
- 设置元数据变更通知,及时了解表结构变化
- 集成数据探查功能,获取表数据分布统计信息
OpenMetadata还支持MySQL、BigQuery等多种数据源,更多配置示例可参考ingestion/examples/目录下的样例文件。收藏本文,关注项目更新,获取更多元数据管理最佳实践。
更多推荐
所有评论(0)