DataHub学习笔记

  • 前言
  • 数据治理与元数据管理
    • 元数据管理:
    • 数据资产:
    • 元数据管理应具备的功能:
    • DataHub 的技术栈:
    • DataHub安装过程(服务器上安装):

前言

随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程。作为新一代的元数据管理平台, Datahub在近一年的时间里发展迅猛,大有取代老牌元数据管理工具Atlas之势。

数据治理与元数据管理

在大数据研发中,原始数据就有着非常多的数据库,数据表。而经过数据的聚合以后,又会有很多的维度表。我们缺乏对数据资产的管理。事实上,有很多公司都提供了开源的解决方案来解决上述问题,这也就是数据发现与元数据管理工具。

元数据管理:

元数据一般来说是数据的数据。具体来说,就是对动态数据的一种静态信息描述。元数据管理是为了对数据资产进行有效的组织。它使用元数据来帮助管理他们的数据。它还可以帮助数据专业人员收集、组织、访问和丰富元数据,以支持数据治理。
常用的元数据:
在数据流处理中,我们首先需要定义不同阶段的数据实体,所以有了模式元数据。接着我们需要定义数据实体之间的处理逻辑,叫做etl数据处理,接着有了数据实体的关系元数据。对于这些数据处理的逻辑形式,需要调度器来物理化执行,所以有了调度元数据。数据处理完成之后,需要发布报表,就有了报表元数据。对于整体系统中,会涉及不同的用户实体,就有了用户元数据
当然,这些是企业数据平台最常见的元数据类型,其它的大大小小的信息还是有很多。所以,元数据系统的建立,是企业级的信息化建设过程。
数据分类模型之“元数据、引用数据、主数据、业务数据…

数据资产:

可能是 Oracle 数据库中的一张表。在现代企业中,我们拥有一系列令人眼花缭乱的不同类型的数据资产。可能是关系数据库或 NoSQL 存储中的表、实时流数据、 AI 系统中的功能、指标平台中的指标,数据可视化工具中的仪表板。

元数据管理应具备的功能:
  • 搜索和发现:数据表、字段、标签、使用信息
  • 访问控制:访问控制组、用户、策略
  • 数据血缘:管道执行、查询
  • 合规性:数据隐私/合规性注释类型的分类
  • 数据管理:数据源配置、摄取配置、保留配置、数据清除策略
  • AI 可解释性、再现性:特征定义、模型定义、训练运行执行、问题陈述
  • 数据操作:管道执行、处理的数据分区、数据统计
  • 数据质量:数据质量规则定义、规则执行结果、数据统计
DataHub 的技术栈:

DataHub包括了四块,metadata, gms, etl, datahub。整个系统构建采用了gradle。
medata定义模型。metadata这里面使用了两种数据格式。一种是外部接入格式avro,非常实用。另一种是内部改进的pdsc格式,外面用得很少。
gms基于模型生成服务。gms使用了内部的rest.li,又是内部搞的一套restful框架,也还比较好用,但是应用面比较窄。
etl进行模型数据加工。etl则是采用了linkedin家最擅长的kafka schema registry及kafka streams。
datahub提供基于gms的元数据应用展现。datahub包括了应用后台服务以及前台展示,后台服务采用的是play framework,前台服务采用的是ember.js + typescript。

DataHub安装过程(服务器上安装):

安装参考:
官网 DataHub Quickstart Guide
DataHub安装配置详细过程
一站式元数据治理平台——Datahub入门宝典
Datahub安装配置—————附带详细步骤

yum -y install gcc

yum -y install docker

# 启动docker
sudo systemctl start docker
# 测试是否正确安装
sudo docker run hello-world

#dockerCompose【docker的服务编排工具,主要是用来构建多个服务】
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose
# 然后启动docker
# 守护进程重启
sudo systemctl daemon-reload
# 重启docker服务
sudo systemctl restart docker
# 然后检查启动
docker container ls

yum install libffi-devel -y
yum install zlib* -y

因为我原来有python环境,跳过了安装python:

pip3 install toml

Docker 镜像加速

{"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
cd /opt
yum -y install git
git --version
git clone git://github.com/linkedin/datahub.git
cd /opt/datahub/docker
source ./quickstart.sh

在执行上面命令的时候,我是自己下载完把项目放到服务器上的,git clone失败了。在执行最后一条命令时,因为太慢了,所以可以提前配置docker加速。

python3 -m pip install --upgrade pip wheel setuptools -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
python3 -m pip uninstall datahub acryl-datahub || true  # sanity check - ok if it fails
python3 -m pip install --upgrade acryl-datahub -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
python3 -m datahub version


在上面安装过程中还发现我本地原来好像mysql端口冲突了,所以我把服务先停了,后来修改了端口号为3307,不会和docker 中的冲突。

Docker push 报错:received unexpected HTTP status: 500 Internal Server Error :(我这样解决):

setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
egrep '^SELINUX=' /etc/selinux/config



如果source ./quickstart.sh执行成功,就可以访问datahub了,是 ip:9002
检查安装的插件情况,Datahub是插件式的安装方式。可以检查数据源获取插件Source,转换插件transformer,获取插件Sink。

 python3 -m datahub check plugins

本人自己摄入数据源的yml成功的:(命令行执行成功,界面执行均失败)
我遇到了oracle摄入失败的解决方法:

oracle:

source:type: "oracle"config:username: "system"password: "Admin134"database: "prod"host_port: "172.16.5.90"

mysql:

source:type: "mysql"config:username: "root"password: "123456"database: "mysql"host_port: "localhost:3307"
sink:type: "datahub-rest"config:server: 'http://localhost:8080'

未完待续

【DataHub】LinkedIn DataHub学习笔记相关推荐

  1. 数据治理专业认证CDMP学习笔记(思维导数据治理专业认证CDMP学习笔记(思维导图与知识点)- 第11章数据仓库和商务智能篇...

    大家好,我是独孤风,一位曾经的港口煤炭工人,目前在某国企任大数据负责人,公众号大数据流动主理人.在最近的两年的时间里,因为公司的需求,还有大数据的发展趋势所在,我开始学习数据治理的相关知识. 数据治理 ...

  2. 数据治理专业认证CDMP学习笔记(思维导图与知识点)- 第八章数据集成和互操作篇...

    大家好,我是独孤风,一位曾经的港口煤炭工人,目前在某国企任大数据负责人,公众号大数据流动主理人.在最近的两年的时间里,因为公司的需求,还有大数据的发展趋势所在,我开始学习数据治理的相关知识. 数据治理 ...

  3. 学习笔记:The Log(我所读过的最好的一篇分布式技术文章

     学习笔记:The Log(我所读过的最好的一篇分布式技术文章)         前言 这是一篇学习笔记. 学习的材料来自Jay Kreps的一篇讲Log的博文. 原文很长,但是我坚持看完了,收获 ...

  4. [NOTE] WebGoat v8.2.2学习笔记

    [NOTE] WebGoat v8.2.2学习笔记 文章目录 [NOTE] WebGoat v8.2.2学习笔记 前言 CIA 常见编码形式 OpenSSL使用 docker安全 SQL安全 SQLi ...

  5. 大数据业务学习笔记_学习业务成为一名出色的数据科学家

    大数据业务学习笔记 意见 (Opinion) A lot of aspiring Data Scientists think what they need to become a Data Scien ...

  6. Kafka入门篇学习笔记整理

    Kafka入门篇学习笔记整理 Kafka是什么 Kafka的特性 应用场景 Kafka的安装 单机版部署 集群部署环境准备 Kafka 2.x集群部署 Kafka 3.x集群部署 监听器和内外网络 K ...

  7. Rabbitmq学习笔记(尚硅谷2021)

    Rabbitmq学习笔记 (尚硅谷) 1.MQ 的概念 1.1 什么是 MQ? 1.2 为什么要用 MQ? 削峰 解耦 异步 1.3 MQ 的分类 ActiveMQ Kafka RocketMQ Ra ...

  8. amazeui学习笔记--css(常用组件6)--图标Icon

    amazeui学习笔记--css(常用组件6)--图标Icon 一.总结 1.关注用法即可:在 HTML 上添加添加 am-icon-{图标名称} class. <span class=&quo ...

  9. 学习笔记:The Log(我所读过的最好的一篇分布式技术文章)

    前言 这是一篇学习笔记. 学习的材料来自Jay Kreps的一篇讲Log的博文. 原文非常长.可是我坚持看完了,收获颇多,也深深为Jay哥的技术能力.架构能力和对于分布式系统的理解之深刻所折服.同一时 ...

最新文章

  1. Comprehensive evaluation of error correction methods for high-throughput sequencing data
  2. 被Zoom逼疯的歪果仁,造出了视频会议机器人,同事已笑疯丨开源
  3. js中的blob,图片base64URL,file之间的关系
  4. vector的resize()和reserve()函数
  5. java日历类add方法_Java日历computeFields()方法及示例
  6. 经典面试题(38):以下代码将输出的结果是什么?
  7. 剑指 Offer II 106. 二分图
  8. php启动另一个php进程,用php守护另一个php进程的例子
  9. 李宏毅机器学习Lesson2——Logistic Regression实现收入预测
  10. 计算机维护费入什么会计科目,金税盘技术维护费计入什么科目_增值税
  11. 2019一键清空朋友圈_微信一键删除好友软件(2019微信批量删除好友最快速有效的方法)...
  12. 怎么快速制作web原型_快速原型制作指南
  13. moment 的使用 当月第一天
  14. 疯狂python讲义豆瓣评分_书榜 | 计算机书籍(9.16-9.22)销售排行榜
  15. WWW2023即将截稿
  16. 正心,修身,方能齐家,治国,平天下
  17. 使用ABAP批量下载有道云笔记中的图片
  18. 无人机飞控平台ArduPilot源码入门教程 — 简介
  19. 10月16日上午MySQL数据库作业设计表解析
  20. 【icon图标】icon字体图标的下载与使用

热门文章

  1. Mysql 语句操作索引SQL语句
  2. 使用canvas画图,转换成图片路径
  3. Linux下安装并配置FTP文件服务器
  4. fastdfs文件上传成功但无法访问
  5. IMEI Android ID
  6. 几 米 语 录 - - 深爱
  7. ⚡还敢宕机,佛祖教你做人(11副图+内附源码+效果展示)⚡
  8. 软考---------软件设计师(中级)我的备考经历
  9. 实战:git中正确删除文件的方法-2021.12.07
  10. 想算法无头绪,咋办?