我的编程空间,编程开发者的网络收藏夹
学习永远不晚

DataHub——实时数据治理平台

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

DataHub——实时数据治理平台

DataHub——实时数据治理平台

file

DataHub

首先,阿里云也有一款名为DataHub的产品,是一个流式处理平台,本文所述DataHub与其无关。

数据治理是大佬们最近谈的一个火热的话题。不管国家层面,还是企业层面现在对这个问题是越来越重视。数据治理要解决数据质量,数据管理,数据资产,数据安全等等。而数据治理的关键就在于元数据管理,我们要知道数据的来龙去脉,才能对数据进行全方位的管理,监控,洞察。

DataHub是由LinkedIn的数据团队开源的一款提供元数据搜索与发现的工具。

提到LinkedIn,不得不想到大名鼎鼎的Kafka,Kafka就是LinkedIn开源的。LinkedIn开源的Kafka直接影响了整个实时计算领域的发展,而LinkedIn的数据团队也一直在探索数据治理的问题,不断努力扩展其基础架构,以满足不断增长的大数据生态系统的需求。随着数据的数量和丰富性的增长,数据科学家和工程师要发现可用的数据资产,了解其出处并根据见解采取适当的行动变得越来越具有挑战性。为了帮助增长的同时继续扩大生产力和数据创新,创建了通用的元数据搜索和发现工具DataHub。

市面上常见的元数据管理系统有如下几个:
a) linkedin datahub:
https://github.com/linkedin/datahub
b) apache atlas:
https://github.com/apache/atlas
c) lyft amundsen
https://github.com/lyft/amundsen

atlas之前我们也介绍过,对hive有非常好的支持,但是部署起来非常的吃力。amundsen还是一个新兴的框架,还没有release版本,未来可能会发展起来还需要慢慢观察。

综上,datahub是目前我们实时数据治理的最佳选择,只是目前datahub的资料还较少,未来我们将持续关注与更新datahub的更多资讯。

DataHub诞生

Github https://github.com/linkedin/datahub

License Apache-2.0

支持数据源 LDAP, Hive, Kafka, MySQL, DB2, Firebird, SQL Server, Oracle, Postgres, SQLite, ODBC

实现功能 元数据 数据血缘 权限 描述 生命周期

datahub的前身是LinkedIn为了提高数据团队的工作效率,开发并开源的WhereHows。

这是一个中央元数据存储库和数据集门户。存储的元数据类型包括技术元数据(例如位置,架构,分区,所有权)和过程元数据(例如沿袭,作业执行,生命周期信息)。WhereHows还提供了搜索引擎来帮助找到感兴趣的数据集。

自2016年首次发布WhereHows以来,业界对通过使用元数据提高数据科学家的生产力的兴趣日益浓厚。例如,在此领域开发的工具包括AirBnb的Dataportal,Uber的Databook,Netflix的Metacat,Lyft的Amundsen以及最近的Google的Data Catalog。

但是,LinkedIn很快意识到WhereHows具有根本的局限性,使其无法满足不断发展的元数据需求。主要问题是:

  1. 推送比拉动要好:虽然直接从源中拉动元数据似乎是收集元数据的最直接方法,但开发和维护集中的特定域爬网程序却很快成为噩梦。让各个元数据提供者通过API或消息将信息推送到中央存储库具有更大的可伸缩性。这种基于推送的方法还可以确保更及时地反映新的和更新的元数据。

  2. 一般胜于特定:关于数据集或工作的元数据有着固定的API,数据模型和存储格式。对元数据模型进行小的更改将导致在堆栈上下进行一系列更改。如果我们设计了一个通用的体系结构,而该体系结构与其存储和服务的元数据模型无关,那么它将具有更大的可扩展性。反过来,这将使我们能够专注于入门和不断发展的,有见地的元数据模型,而不必担心堆栈的底层。

  3. 联机与脱机同样重要:收集了元数据后,自然要分析该元数据以获取价值。一种简单的解决方案是将所有元数据转储到脱机系统(如Hadoop),在该系统中可以执行任意分析。但是,我们很快发现仅支持离线分析还不够。有许多用例,例如访问控制和数据隐私处理,必须在线查询最新的元数据。

  4. 关系确实很重要:元数据通常传达重要的关系(例如,血统,所有权和依赖性),这些关系可以提供强大的功能,例如影响分析,数据汇总,更好的搜索相关性等。将所有这些关系建模为头等公民和支持对其进行有效的分析查询。

  5. 多中心宇宙:我们意识到仅对单个实体(数据集)周围的元数据进行建模是不够的。有一个完整的数据,代码和人员实体生态系统(数据集,数据科学家,团队,代码,微服务API,指标,AI功能,AI模型,仪表板,笔记本等),需要通过以下方式进行集成和连接:单个元数据图。

认识datahub

LinkedIn意识到不断增长的需求,即跨各种数据实体以及将它们连接在一起的元数据图的一致的搜索和发现体验。于是决定扩展项目的范围,以建立一个雄心勃勃的愿景:将LinkedIn员工与他们重要的数据联系起来,从而构建一个完全通用的元数据搜索和发现工具DataHub。

组件服务框架

DataHub Web由Ember Framework开发,在应用模块化UI基础结构中,将DataHub Web应用程序构建为一系列紧密结合功能的组件,这些组件被分组为可安装的软件包。该软件包体系结构在基础上使用了Yarn Workspaces和Ember附加组件,并使用Ember的组件和服务进行了组件化。您可以将其视为一个使用小型构建块(即组件和服务)构建的UI,以创建较大的构建块(即Ember附加组件和npm / Yarn软件包),这些UI放在一起构成最终构成DataHub Web应用程序。

以组件和服务为应用程序的核心,该框架使我们能够分解不同的方面并将应用程序中的其他功能组合在一起。此外,每一层的分段都提供了非常可定制的体系结构,该体系结构允许消费者扩展或简化其应用程序,以仅利用与其领域相关的功能或新的元数据模型。

前端提供三种交互类型:(1)搜索,(2)浏览和(3)查看/编辑元数据。以下是实际应用中的一些示例屏幕截图:

file
file
file

file
file
file

DataHub应用截图

类似于典型的搜索引擎体验,用户可以通过提供关键字列表来搜索一种或多种类型的实体。他们可以通过筛选多个方面来进一步对结果进行切片和切块。高级用户还可以利用运算符(例如OR,NOT和regex)执行复杂的搜索。

DataHub中的数据实体可以以树状方式组织和浏览,其中每个实体都可以出现在树中的多个位置。这使用户能够以不同方式(例如,通过物理部署配置或业务功能组织)浏览同一目录。甚至有树的专用部分仅显示“认证实体”,这些实体是通过单独的治理流程进行管理的。

最终交互(查看/编辑元数据)也是最复杂的交互。每个数据实体都有一个“配置文件页面”,其中显示了所有关联的元数据。例如,数据集配置文件页面可能包含其架构,所有权,合规性,运行状况和沿袭元数据。它还可以显示实体与其他实体之间的关系,例如,生成数据集的作业,从该数据集计算出的度量或图表等。对于可编辑的元数据,用户也可以直接通过UI更新。

元数据获取

简而言之,元数据是“ 提供有关其他数据的信息的数据。” 对于元数据建模,这带来了两个不同的要求:

  1. 元数据也是数据:要对元数据建模,我们需要一种语言,其功能至少应与通用数据建模所使用的语言一样丰富。
  2. 元数据是分布式的:期望所有元数据都来自单一来源是不现实的。例如,管理数据集的访问控制列表(ACL)的系统很可能不同于存储架构元数据的系统。一个好的建模框架应允许多个团队独立地发展其元数据模型,同时提供与数据实体相关联的所有元数据的统一视图。

我们没有发明一种新的元数据建模方法,而是选择使用Pegasus(一种由LinkedIn创建的开源且完善的数据模式语言)。Pegasus专为通用数据建模而设计,因此适用于大多数元数据。但是,由于Pegasus没有提供对关系或关联进行建模的显式方法,因此我们引入了一些自定义扩展来支持这些用例。

为了演示如何使用Pegasus对元数据进行建模,让我们看一下下面的修改后的实体关系图(ERD)所说明的简单示例。

file

该示例包含三种类型的实体-用户,组和数据集-由图中的蓝色圆圈表示。我们使用箭头表示这些实体之间的三种关系类型,即OwnedBy,HasMember和HasAdmin。换句话说,一个组由一个管理员和用户的多个成员组成,而用户又可以拥有一个或多个数据集。

与传统的ERD不同,我们将实体和关系的属性分别直接放置在圆圈内和关系名称下。这使我们可以将一种称为“元数据方面”的新型组件附加到实体。不同的团队可以为同一实体拥有和发展元数据的不同方面,而不会互相干扰,从而满足了分布式元数据建模的需求。上例中包含绿色矩形的三种类型的元数据方面:所有权,配置文件和成员身份。使用虚线表示元数据方面与实体的关联。例如,配置文件可以与用户相关联,所有权可以与数据集相关联,等等。

您可能已经注意到,实体和关系属性与元数据方面存在重叠,例如,用户的firstName属性应与关联的配置文件的firstName字段相同。重复信息的原因将在本文的后半部分中进行解释,但是到目前为止,将属性视为元数据方面的“有趣部分”就足够了。

为了在Pegasus中为示例建模,我们将每个实体,关系和元数据方面转换为单独的Pegasus Schema文件(PDSC)。为简便起见,我们在此仅列出每个类别中的一个模型。首先,让我们看一下User实体的PDSC:

{
  "type": "record",
  "name": "User",
  "fields": [
    {
      "name": "urn",
      "type": "com.linkedin.common.UserUrn",
    },
    {
      "name": "firstName",
      "type": "string",
      "optional": true
    },
    {
      "name": "lastName",
      "type": "string",
      "optional": true
    },
    {
      "name": "ldap",
      "type": "com.linkedin.common.LDAP",
      "optional": true
    }
  ]
}

每个实体都必须具有URN形式的全局唯一ID ,可以将其视为类型化的GUID。User实体具有的属性包括名字,姓氏和LDAP,每个属性都映射到User记录中的可选字段。

接下来是OwnedBy关系的PDSC模型:

{
  "type": "record",
  "name": "OwnedBy",
  "fields": [
    {
      "name": "source",
      "type": "com.linkedin.common.Urn",
    },
    {
      "name": "destination",
      "type": "com.linkedin.common.Urn",
    },
    {
      "name": "type",
      "type": "com.linkedin.common.OwnershipType",
    }
  ],
  "pairings": [
    {
      "source": "com.linkedin.common.urn.DatasetUrn",
      "destination": "com.linkedin.common.urn.UserUrn"
    }
  ]
}

每个关系模型自然包含使用其URN指向特定实体实例的“源”和“目的地”字段。模型可以选择包含其他属性字段,在这种情况下,例如“类型”。在这里,我们还引入了一个称为“ pairings”的自定义属性,以将关系限制为特定的源和目标URN类型对。在这种情况下,OwnedBy关系只能用于将数据集连接到用户。

最后,您将在下面找到所有权元数据方面的模型。在这里,我们选择将所有权建模为包含type和ldap字段的记录数组。但是,在建模元数据方面时,只要它是有效的PDSC记录,实际上就没有限制。这样就可以满足前面提到的“元数据也是数据”的要求。

{
  "type": "record",
  "name": "Ownership",
  "fields": [
    {
      "name": "owners",
      "type": {
        "type": "array",
        "items": {
          "name": "owner",
          "type": "record",
          "fields": [
            {
              "name": "type",
              "type": "com.linkedin.common.OwnershipType"
            },
            {
              "name": "ldap",
              "type": "string"
            }
          ]
        }
      }
    }
  ]
}

元数据摄取

DataHub提供两种形式的元数据摄取:通过直接API调用或Kafka流。前者适合离线,后者适合实时。

DataHub的API基于Rest.li,这是一种可扩展的,强类型的RESTful服务架构,已在LinkedIn上广泛使用。由于Rest.li使用Pegasus作为其接口定义,因此可以逐字使用上一节中定义的所有元数据模型。从API到存储需要多层转换的日子已经一去不复返了-API和模型将始终保持同步。

对于基于Kafka的提取,预计元数据生产者将发出标准化的元数据更改事件(MCE),其中包含由相应实体URN键控的针对特定元数据方面的建议更改列表。

对API和Kafka事件模式使用相同的元数据模型,使我们能够轻松地开发模型,而无需精心维护相应的转换逻辑。

元数据服务

旦摄取并存储了元数据,有效地处理原始和派生的元数据就很重要。DataHub旨在支持对大量元数据的四种常见查询类型:

  1. 面向文档的查询
  2. 面向图的查询
  3. 涉及联接的复杂查询
  4. 全文搜索

为此,DataHub需要使用多种数据系统,每种数据系统专门用于扩展和服务于有限类型的查询。

file

在本文中,我们介绍了DataHub,这是LinkedIn上元数据之旅的最新进展。该项目包括一个模块化UI前端和一个通用元数据体系结构后端。

目前datahub正在迅速发展,虽然还不是很活跃,也缺少相关的资料,但凭着与kafka的良好融合,datahub一定会在实时数据治理领域崭露头角。

file

更多实时数据分析相关博文与科技资讯,欢迎关注 “实时流式计算”

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

DataHub——实时数据治理平台

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

DataHub——实时数据治理平台

DataHub首先,阿里云也有一款名为DataHub的产品,是一个流式处理平台,本文所述DataHub与其无关。数据治理是大佬们最近谈的一个火热的话题。不管国家层面,还是企业层面现在对这个问题是越来越重视。数据治理要解决数据质量,数据管理,数据资产,数据安全等
DataHub——实时数据治理平台
2018-12-08

一小时搭建实时数据分析平台

实时数据分析门槛较高,我们如何用极少的开发工作就完成实时数据平台的搭建,做出炫酷的图表呢?如何快速的搭建实时数据分析平台,首先我们需要实时数据的接入端,我们选择高扩展性、容错性、速度极快的消息系统Kafka,而实时数据仓库,由于 Druid提供了非常方便快捷配
一小时搭建实时数据分析平台
2021-03-08

宜信卢山巍:数据中台的“自动化数据治理”时代已来

中台,我理解是能力的下沉,数据处理能力下沉为加工平台,数据处理结果下沉为数据资产。那么数据治理能否下沉?可以下沉出什么东西?——宜信数据中台负责人 卢山巍本文来源:宜信数据中台负责人卢山巍在亿欧产业互联网频道“数字中台创新”沙龙的分享实录原
2023-06-02

Hadoop数据治理最佳实践

Hadoop数据治理是确保Hadoop集群中的数据质量、安全性和可用性的过程。以下是Hadoop数据治理的最佳实践:定义数据治理策略:制定明确的数据治理策略,包括数据质量标准、数据安全政策、数据备份和恢复策略等。数据分类和标记:对数据进行分
Hadoop数据治理最佳实践
2024-02-29

华为大数据云管理平台实测

场景描述为搭建H公司车联网业务集团级的云管理平台,统一管理、部署硬件资源和通用类软件资源,实现IT应用全面服务化、云化,CDM(Cloud Data Migration,简称CDM)助力H公司做到代码“0”改动、数据“0”丢失迁移上云。产品优势一站式数据运营平
华为大数据云管理平台实测
2015-02-03

COUNT函数在实时数据分析平台的作用

在实时数据分析平台中,COUNT函数通常用于统计某个字段或条件下的数据行数。通过COUNT函数,用户可以快速了解数据中的记录数量,从而进行更深入的数据分析和决策。COUNT函数可以用于实时监控数据的变化,例如监控网站访问量、用户数量、销售
COUNT函数在实时数据分析平台的作用
2024-08-11

Nginx与WebSocket在实时数据分析平台中的数据传输优化

在实时数据分析平台中,Nginx与WebSocket的结合使用可以显著提升数据传输的效率和性能。以下是关于Nginx与WebSocket在实时数据分析平台中数据传输优化的相关信息:Nginx配置WebSocket支持反向代理和负载均衡:N
Nginx与WebSocket在实时数据分析平台中的数据传输优化
2024-10-20

[平台建设] 大数据平台如何实现任务日志采集

本文主要介绍如何基于log4j appender自定义扩展实现大数据平台任务日志采集. 背景平台任务主要分3种: flink实时任务, spark任务,还有java任务,spark、flink 我们是运行在yarn 上, 日常排错我们通过查看yarn l
[平台建设] 大数据平台如何实现任务日志采集
2018-05-22

SLM — 仿真过程与数据管理平台

近年来企业通过将仿真纳入产品研发过程来减少对试验的依赖,缩短研发周期,同时也利用仿真分析手段来深刻认识产品特性,通过设计- 仿真- 优化迭代,实现产品创新设计,提高产品设计质量。达索系统SLM(Simulation Lifec
2023-06-03

JuiceFS 在大搜车数据平台的实践

大搜车已经搭建起比较完整的汽车产业互联网协同生态。在这一生态中,不仅涵盖了大搜车已经数字化的全国 90% 中大型二手车商、9000+ 家 4S 店和 70000+ 家新车二网,还包括大搜车旗下车易拍、车行168、运车管家、布雷克索等具备较强产业链服务能力的公司
JuiceFS 在大搜车数据平台的实践
2017-04-15

WEB数据库管理平台kb-dms:数据源配置【五】

名称数据源的一个名称,用于方便标记和区分数据源。类型类型分为mysql/sqlserver所属团队数据源所属的团队,方便用户按团队查询数据源和数据库。负责人数据源的负责可以对数据源信息进行编辑。激活激活后数据源可见,取消激活数据源将在前端不可见,用户无法查询连
WEB数据库管理平台kb-dms:数据源配置【五】
2018-12-26

Linux平台达梦数据库V7之数据文件管理

一 前言在实际生产环境中,我们常常会遇到表空间不足的问题,针对此类问题,只要我们的磁盘空间充足,我们可以通过更改数据文件大小、添加新的数据文件等方式来解决;管理数据文件的操作需要 DM服务器处于打开状态下;二 数据文件管理2.1 添加数据文件在达梦数据库中,一
Linux平台达梦数据库V7之数据文件管理
2022-01-07

阿里云数据库Mdb企业级数据管理平台

本文将详细介绍阿里云数据库Mdb,这是一款企业级的数据管理平台。Mdb具有强大的功能,可以提供高效、可靠的数据存储和处理服务,帮助企业实现数据驱动的业务创新。详细说明:阿里云数据库Mdb是一款基于分布式架构的企业级数据管理平台,能够提供高性能、高可用性和高安全性的数据存储和处理服务。它支持多种数据库引擎,如MyS
阿里云数据库Mdb企业级数据管理平台
2024-01-24

MyBatis视图在实时数据分析平台中的应用案例

MyBatis 是一款优秀的持久层框架,它通过提供数据访问对象(DAO)和数据访问层(DAL)的抽象,简化了数据库交互的复杂性。在实时数据分析平台中,MyBatis 的视图功能可以用于执行复杂的查询和数据分析任务。以下是一个应用案例:应用
MyBatis视图在实时数据分析平台中的应用案例
2024-10-14

hadoop大数据处理平台的示例分析

这篇文章给大家分享的是有关hadoop大数据处理平台的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。大数据能够在国内得到快速发展,甚至是国家层面的支持,最为重要的一点就是我们纯国产大数据处理技术的突破以及
2023-06-02

阿里云DMS实操数据库开启数据治理新篇章

本文主要介绍阿里云DMS(DatabaseManagementSystem)的实操数据库功能,包括数据库的创建、数据的导入、数据的管理以及数据的备份等。通过阿里云DMS,用户可以轻松地管理大规模的数据库,提高数据治理效率,为数据驱动的企业提供有力的支持。正文:随着大数据和云计算的发展,数据库的管理变得越来越复杂。
阿里云DMS实操数据库开启数据治理新篇章
2023-11-17

WEB数据库管理平台kb-dms:团队管理【四】

管理员系统初始化的管理员拥有平台最大的权限,只有管理可以创建团队和添加管理员。负责人团队可以配置相应的负责人,可以配置多个。只要团队的创建人和负责人才可以编辑团队、更新成员信息。成员团队里的人员列表,由团队负责人或团队创建人添加。激活激活后团队可见,取消激活团
WEB数据库管理平台kb-dms:团队管理【四】
2018-04-05

揭秘数据库同步:跨平台数据管理的秘籍

跨平台数据管理是一项复杂的任务,但数据库同步技术可以帮助简化这一过程。通过使用数据库同步工具,企业可以自动将数据复制到不同的数据库,确保它们始终保持同步。
揭秘数据库同步:跨平台数据管理的秘籍
2024-02-29

编程热搜

目录