大家好,我是独孤风。

又到了本周的开源项目推荐。最近推荐的元数据管理项目很多,但是很多元数据管理平台的功能复杂难用。

那么有没有轻量一点的元数据管理项目呢?

今天为大家推荐的开源项目,就是一个轻量级的元数据管理工具。虽然轻量,但是元数据的收集、展示、数据血缘等功能都是支持的。

让我们一起来看看吧~

Marquez概述

今天为大家推荐的开源项目名为Marquez。这是WeWork开源的元数据管理工具,可以对元数据进行收集,聚合和可视化。

Marquez提供了开源的元数据服务,用于数据生态系统元数据的收集、聚合和可视化。通过它可以对数据集整体的产生和消费情况进行把控。

并提供数据处理全过程的数据可视化,并可以对数据集的生命周期进行集中管理。

该项目还在蓬勃发展中,目前标星数为1.5K,最新版本为三周前发布的0.43.1。主要开发语言为Java和TS。

Marquez的部署与Java项目类似,只要启动对应的Web端服务和API服务就可以了。

特别强调一下Marquez的血缘API非常的简洁,可以轻松建立数据血缘依赖关系,这可以为数据质量等原因分析提供保证。

可在大数据流动后台回复“Marquez”获取安装包,源代码与学习资料。

功能演示

请参考大数据流动视频号的功能演示:

如何安装?

可以docker快速安装,需要至少满足如下版本。

拉取项目

$ git clone https://github.com/MarquezProject/marquez && cd marquez

可以用下面的命令启动

$ ./docker/up.sh --seed

请通过访问http://localhost:3000浏览到 UI 。然后,使用页面右上角的搜索栏搜索该职位etl_delivery_7_days。要查看 的沿袭元数据etl_delivery_7_days,请从下拉列表中单击该作业:

您应该看到作业namespacename和数据集,input并且output作业运行标记为COMPLETED

最后,单击 的输出数据public.delivery_7_daysetl_delivery_7_days。您应该看到数据集nameschemadescription

API的使用

项目启动后就可以调用API了。

下面是一个简单的例子,首先我们要启动一个血缘事件。

$ curl -X POST http://localhost:5000/api/v1/lineage \
-i -H 'Content-Type: application/json' \
-d '{
"eventType": "START",
"eventTime": "2020-12-28T19:52:00.001+10:00",
"run": {
"runId": "d46e465b-d358-4d32-83d4-df660ff614dd"
},
"job": {
"namespace": "my-namespace",
"name": "my-job"
},
"inputs": [{
"namespace": "my-namespace",
"name": "my-input"
}],
"producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
"schemaURL": "https://openlineage.io/spec/1-0-5/OpenLineage.json#/definitions/RunEvent"
}'

随后完成该任务。

$ curl -X POST http://localhost:5000/api/v1/lineage \
-i -H 'Content-Type: application/json' \
-d '{
"eventType": "COMPLETE",
"eventTime": "2020-12-28T20:52:00.001+10:00",
"run": {
"runId": "d46e465b-d358-4d32-83d4-df660ff614dd"
},
"job": {
"namespace": "my-namespace",
"name": "my-job"
},
"outputs": [{
"namespace": "my-namespace",
"name": "my-output",
"facets": {
"schema": {
"_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
"_schemaURL": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/spec/OpenLineage.json#/definitions/SchemaDatasetFacet",
"fields": [
{ "name": "a", "type": "VARCHAR"},
{ "name": "b", "type": "VARCHAR"}
]
}
}
}],
"producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
"schemaURL": "https://openlineage.io/spec/1-0-5/OpenLineage.json#/definitions/RunEvent"
}'

注意运行正常的话我们应该接到201 CREATED的响应。

在页面搜索,将得到血缘展示。

这只是Marquez的基本用法。

Marquez提供元数据采集的一个标准方案,目前支持Spark,Airflow的表级别和列级别的数据血缘收集。

而Flink暂时只支持表级别的血缘收集。

相信Marquez未来会支持越来越多的数据源,让我们一起期待一下吧~

【开源项目】轻量元数据管理解决方案——Marquez的更多相关文章

  1. 企业自主可控免费开源ERP:Odoo采购管理解决方案

    供应商基础资料 1. 所有的供应商基础资料,Odoo开账启用时,期初的客户数据如果大于200条,可以批量导入: 2. 点“采购/采购/供应商”菜单可以查看.编辑修改.搜索所有的供应商基础资料: 3. ...

  2. .NET 开源项目推荐之 直播控制台解决方案 Macro Deck

    流媒体是一个吸引数亿万玩家的严肃行业. 最受欢迎的游戏锦标赛的转播获得了数百万的观看次数,从商业角度来看,这也使游戏行业变得有趣.在直播圈有个很受欢迎的直播控制台程序Macro Deck, 它是基于A ...

  3. .Net 开源项目资源大全

    伯乐在线已在 GitHub 上发起「DotNet 资源大全中文版」的整理.欢迎扩散.欢迎加入. https://github.com/jobbole/awesome-dotnet-cn (注:下面用 ...

  4. 【开源整理】.Net开源项目资源大全

    汇总了.NET平台开源的工具类库,新的内容在不断更新中.内容借鉴了博客园.伯乐在线.GitHub等平台. (注:下面用 [$] 标注的表示收费工具,但部分收费工具针对开源软件的开发/部署/托管是免费的 ...

  5. 【收藏】关于元数据(Metadata)和元数据管理,这是我的见过最全的解读!

    本文主要从元数据的定义.作用.元数据管理现状.管理标准和元数据管理功能等方面讲述了我对元数据(Metadata)和元数据管理的认知及理解. 元数据管理 一.元数据的定义 按照传统的定义,元数据(Met ...

  6. 数据治理之元数据管理的利器——Atlas入门宝典

    随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程.作为Hadoop生态最紧密的元数据管理与发现工具,Atlas在其中扮演着重要的位置.但是其官方文档不是很丰富,也不够详细.所以整 ...

  7. fir.im Weekly - 如何打造 Github 「爆款」开源项目

    最近 Android 转用 Swift 的传闻甚嚣尘上,Swift 的 Github 主页上已经有了一次 merge>>「Port to Android」,让我们对 Swift 的想象又多 ...

  8. 基于 Github 平台的 .NET 开源项目模板. 嘎嘎实用!

    简介 大家好,为了使开源项目的维护和管理更方便一些,出于个人需求写了一款开源项目的模板,该模板基于 Github 平台,并使用 .NET 来实现管道功能. 在接受过实战检验后, 于今天开源, 项目地址 ...

  9. 轻量高效的开源JavaScript插件和库 【转】

    图片 布局 轮播图 弹出层 音频视频 编辑器 字符串 表单 存储 动画 时间 其它 加载器 构建工具 测试 包管理器 CDN 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果 ...

  10. Wenaox 一款轻量性能好的微信小程序状态管理库

    感慨一下!!! 从开始开发 wenaox 从开始到现在,,时不时更新一下,改一改 bug,却发现已经快 1 年了 orz 虽然很少人用 hhh,但偶尔也会有人提一些问题,我就知道还有人用的~ 感兴趣的 ...

随机推荐

  1. 彻底解决Chrome“请停用以开发者模式运行的扩展程序”提示(亲测整合)

    本站有大佬已写较全的解决方案(修改dll文件法) 原文链接 但是本人Chrome76版本不适用,匹配不到提示语,在知乎中找到修改注册表的方法可以解决 原文链接 最后附上一个谷歌访问助手吧 链接: ht ...

  2. JavaCore extends Plugin

    /******************************************************************************* 2 * Copyright (c) 2 ...

  3. CMP临时文件清理

    ■■ CMP临时文件 CMP - 指 Compression Advisor ,是 Oracle 数据库的压缩建议特性,在生成建议时产生的中间过程表,一般会自行删除.这个特性自 11.2.0.4 引入 ...

  4. centos7 oracle11gR2安装

    CentOS7安装Oracle 11gR2 图文详解 摘自: http://www.linuxidc.com/Linux/2016-04/130559.htm 最近要运维一个项目,准备在家办公,公司无 ...

  5. docker入门加实战—Docker镜像和Dockerfile语法

    docker入门加实战-Docker镜像和Dockerfile语法 镜像 镜像就是包含了应用程序.程序运行的系统函数库.运行配置等文件的文件包.构建镜像的过程其实就是把上述文件打包的过程. 镜像结构 ...

  6. Sell Pigs 题解

    Sell Pigs 双倍经验 题目大意 有 \(n\) 个顾客前来买猪,共有 \(m\) 个猪圈,每个顾客携带着某一些猪圈的钥匙,需要买一定数量的猪.在顾客买完后,我们可以将打开的猪圈中的猪随意移动, ...

  7. keycloak~为keycloak-services项目添加第三方模块(首创)

    我们在对keycloak框架中的核心项目keycloak-services进行二次开发过程中,发现了一个问题,当时有这种需求,在keycloak-services中需要使用infinispan缓存,我 ...

  8. CF671D Roads in Yusland 题解

    题目链接 题目要求我们求出选出若干条路径并最小化花费,如果这是在链上,我们可以考虑直接枚举每条路径的右端点 dp,那树呢?把路径剖分整个覆盖的集合就不一定连续了,没法 dp,况且题目里给了很强的条件: ...

  9. Nebula Graph开源分布式图数据库,万亿级数据,毫秒级延时

    推荐一个分布式图数据库Nebula Graph,万亿级数据,毫秒级延时 什么是Nebula Graph Nebula Graph 是一款开源的.分布式的.易扩展的原生图数据库,能够承载包含数千亿个点和 ...

  10. Redis 哨兵模式的原理及其搭建

    1.Redis哨兵 Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复. 1.1.哨兵原理 1.1.1.集群结构和作用 哨兵的结构如图: 哨兵的作用如下: 监控:Sentinel ...