5分钟上手PostgreSQL元数据采集:OpenMetadata零代码实战指南

【免费下载链接】OpenMetadata 开放标准的元数据。一个发现、协作并确保数据正确的单一地点。 【免费下载链接】OpenMetadata 项目地址: https://gitcode.com/GitHub_Trending/op/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"

常见问题解决

  1. 连接失败:检查PostgreSQL服务是否启动,网络是否可达。可参考Docker Compose配置中的网络设置docker/docker-compose-openmetadata/docker-compose-openmetadata.yml

  2. 元数据不完整:确认数据库用户权限是否足够。测试用例中使用的用户具有表创建和查询权限,确保生产环境用户拥有类似权限。

  3. 采集任务失败:查看任务日志,位于OpenMetadata服务的logs目录。可通过Docker命令查看容器日志:

docker logs openmetadata_server

总结与后续操作

通过本文操作,你已成功实现PostgreSQL元数据的自动化采集。后续可探索:

  • 配置数据质量检查,监控表字段的空值率、唯一性等指标
  • 设置元数据变更通知,及时了解表结构变化
  • 集成数据探查功能,获取表数据分布统计信息

OpenMetadata还支持MySQL、BigQuery等多种数据源,更多配置示例可参考ingestion/examples/目录下的样例文件。收藏本文,关注项目更新,获取更多元数据管理最佳实践。

【免费下载链接】OpenMetadata 开放标准的元数据。一个发现、协作并确保数据正确的单一地点。 【免费下载链接】OpenMetadata 项目地址: https://gitcode.com/GitHub_Trending/op/OpenMetadata

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐