开源软件Datahub中文社区
微信号:DatahubCN
QQ群:528386897
Datahub元数据集成2-通过UI集成
-
介绍
从版本开始
0.8.25
,DataHub支持使用DataHub用户界面创建,配置,计划和执行批处理元数据摄取。这使得
通过最大程度地减少操作自定义集成管道所需的开销,更轻松地将元数据导入 DataHub。本文档将介绍在 UI 中配置、计划和执行元数据引入所需的步骤。
运行元数据引入
先决条件
若要查看和管理基于 UI 的元数据引入,必须具有
Manage Metadata Ingestion
&Manage Secrets
分配给您的帐户的权限。这些可以通过平台政策.拥有这些权限后,可以通过导航到 DataHub 中的“引入”选项卡来开始管理引入。
在此页面上,您将看到活动列表引入源.引入源是引入的元数据的唯一源
从外部来源(如 Snowflake、Redshift 或 BigQuery)进入 DataHub。如果您刚刚开始,您将没有任何来源。在以下部分中,我们将介绍如何创建
你的第一个引入源.创建引入源
在引入任何元数据之前,需要创建新的引入源。首先单击**+ 创建新源**.
步骤 1:选择平台模板
在第一步中,选择一个食谱模板对应于要从中提取元数据的源类型。选择其中之一
各种原生支持的集成,从Snowflake到Postgres再到Kafka。
选择Custom
从头开始构建摄取配方。接下来,你将配置引入食谱,它定义了如何和什么从源系统中提取。
步骤 2:配置配方
接下来,您将定义引入食谱在亚姆.一个食谱是一组配置,它是
由数据中心用于从第三方系统中提取元数据。它通常由以下部分组成:-
一个来源类型:您要从中提取元数据的系统类型(例如雪花、mysql、postgres)。如果您选择了本机模板,则已为您填充该模板。
查看当前支持的完整列表类型退房此列表. -
一个来源配置:特定于源的一组配置类型.大多数源支持以下类型的配置值:
- 坐标:要从中提取元数据的系统的位置
- 凭据:用于访问要从中提取元数据的系统的权限凭据
- 定制:有关将提取的元数据的自定义,例如,要在关系数据库中扫描哪些数据库或表
-
一个水槽类型:一种接收器类型,用于路由从源类型中提取的元数据。官方支持的数据中心接收器
类型是datahub-rest
和datahub-kafka
. -
一个水槽配置:将元数据发送到提供的接收器类型所需的配置。例如,数据中心坐标和凭据。
下图显示了配置为从 MySQL 摄取元数据的完整配方示例。
每种源类型的详细配置示例和文档可以在数据中心文档网站。
创建密钥
对于生产用例,敏感的配置值(如数据库用户名和密码),
应该隐藏在您的摄取配方中,不让普通人看到。为此,您可以创建和嵌入秘密.机密是命名值
加密并存储在数据中心的存储层中。要创建密钥,请先导航到“密钥”标签。然后单击
+ Create new secret
.创建密钥以存储 MySQL 数据库的用户名
在表单中,提供密钥的唯一名称以及要加密的值和可选说明。点击创造当你完成时。
这将创建一个密钥,可以使用其名称在摄取配方中引用该密钥。引用机密
创建密钥后,可以从您的食谱使用变量替换。例如
要将 MySQL 用户名和密码的机密替换为配方,您的配方将定义如下:source: type: mysql config: host_port: 'localhost:3306' database: my_db username: ${MYSQL_USERNAME} password: ${MYSQL_PASSWORD} include_tables: true include_views: true profiling: enabled: true sink: type: datahub-rest config: server: 'http://datahub-gms:8080'
从配方定义引用数据中心机密
当具有此配方的引入源执行时,数据中心将尝试“解析”在 YAML 中找到的机密。如果可以解析密钥,则在执行之前将引用替换为其解密值。
机密值不会在执行时间之后保存到磁盘,并且永远不会传输到 DataHub 外部。注意力:任何被授予
Manage Secrets
平台特权将能够使用 GraphQL API 检索明文机密值。步骤 3:计划执行
接下来,您可以选择配置执行新引入源的计划。这样就可以根据组织的需求按月度、每周、每天或每小时的节奏安排元数据提取。
计划是使用 CRON 格式定义的。在洛杉矶时间每天上午 9:15 执行的引入源
要了解有关 CRON 调度格式的更多信息,请查看维基百科概述。
如果计划临时执行引入,可以单击跳以完全跳过计划步骤。不用担心-
你总是可以回来改变这一点。第 4 步:完成
最后,为引入源命名。
对配置感到满意后,单击“完成”以保存更改。
高级:使用特定 CLI 版本运行
数据中心预配置为使用最新版本的数据中心 CLI (亚克力数据中心) 兼容
与服务器。但是,您可以使用“高级”源配置覆盖默认包版本。为此,只需单击“高级”,然后更改“CLI版本”文本框以包含确切版本
您要使用的数据中心 CLI。
将 CLI 版本固定到版本0.8.23.2
对更改感到满意后,只需单击“完成”即可保存。
运行引入源
创建引入源后,可以通过单击“执行”来运行它。不久之后,
应会看到引入源的“上次状态”列从N/A
自Running
.这
表示数据中心引入执行程序已成功选取执行引入的请求。如果引入已成功执行,应会看到其状态显示为绿色
Succeeded
.取消引入运行
如果引入运行挂起,则引入源中可能存在 bug,或者其他持续存在的问题,例如指数超时。如果出现这些情况,
您可以通过单击取消在有问题的运行中。取消后,可以通过单击详.
调试失败的引入运行
各种因素都可能导致引入运行失败。失败的常见原因包括:
-
配方配置错误:配方未为摄取源提供所需或预期的配置。您可以参考
到元数据引入框架源文档,以了解有关源类型所需配置的更多信息。 -
无法解析机密:如果 DataHub 无法找到配方配置引用的机密,则摄取运行将失败。
验证配方中引用的密钥名称是否与已创建的密钥名称匹配。 -
连接性/网络可达性:如果 DataHub 无法访问数据源,例如由于 DNS 解析
失败,元数据引入将失败。确保部署数据中心的网络可以访问数据源
你正在尝试到达。 -
认证:如果您已启用元数据服务身份验证,则需要提供个人访问令牌
在您的配方配置中。为此,请将接收器配置的“令牌”字段设置为包含个人访问令牌:
每次运行的输出都会被捕获,并可在 UI 中查看,以便更轻松地进行调试。要查看输出日志,请单击详
在相应的引入运行中。常见问题
我尝试在运行“数据中心 docker 快速入门”后引入元数据,但引入失败并出现“无法连接”错误。我该怎么办?
如果不是由于上述原因之一,这可能是因为运行引入的执行程序无法
以使用默认配置访问数据中心的后端。尝试更改摄取配方以使sink.config.server
变量指向 Docker
的 DNS 名称datahub-gms
荚:当我尝试运行摄取时,我看到“N/A”。我该怎么办?
如果看到“不适用”,并且引入运行状态永远不会更改为“正在运行”,这可能意味着
您的遗嘱执行人(datahub-actions
) 容器已关闭。此容器负责在请求传入时执行请求以运行引入,或者
按特定时间表按需提供。可以使用以下命令验证容器的运行状况docker ps
.此外,您可以通过查找容器 ID 来检查容器日志
对于datahub-actions
容器和运行docker logs <container-id>
.何时不应使用 UI 引入?
在不使用基于 UI 的引入计划程序的情况下引入元数据存在有效情况。例如
- 已编写自定义引入源
- 在部署了数据中心的网络上无法访问数据源
- 引入源需要来自本地文件系统的上下文(例如输入文件、环境变量等)
- 您希望在多个生成者/环境之间分发元数据引入
如何将策略附加到操作容器,以授予其从各种源拉取元数据的权限?
这因基础平台而异。对于 AWS,请参阅此处指导.
演示
点击这里以查看 UI 引入功能的完整演示。
反馈/问题/疑虑
我们希望收到您的来信!对于任何查询,包括反馈、问题或疑虑,请联系松弛!
-