当前位置:网站首页>【DataHub】LinkedIn DataHub学习笔记
【DataHub】LinkedIn DataHub学习笔记
2022-06-23 13:52:00 【Koma_zhe】
前言
随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程。作为新一代的元数据管理平台, 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-compose
chmod +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
{
"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'
未完待续
边栏推荐
- Teach you how to build Tencent cloud server (explanation with pictures and pictures)
- 5分钟快速上线Web应用和API(Vercel)
- 系统设计与分析课程项目个人小结
- Go write file permission WriteFile (filename, data, 0644)?
- Wechat applet pop up the optional menu from the bottom
- How to use note taking software flowus and note for interval repetition? Based on formula template
- 微信小程序之在wx:for中绑定事件
- [deeply understand tcapulusdb technology] tmonitor system upgrade
- How to correctly calculate the number of rows imported into EXCEL (poi/npoi)
- TS encapsulation request
猜你喜欢

Error when Oracle enters sqlplus

Building Intel devcloud
![[deeply understand tcapulusdb technology] table management of document acceptance](/img/59/e435623ab9cc7d2aa164c2f08e135f.png)
[deeply understand tcapulusdb technology] table management of document acceptance

建议自查!MySQL驱动Bug引发的事务不回滚问题,也许你正面临该风险!
![[Course preview] AI meter industry solution based on propeller and openvino | industrial meter reading and character detection](/img/d8/a367c26b51d9dbaf53bf4fe2a13917.png)
[Course preview] AI meter industry solution based on propeller and openvino | industrial meter reading and character detection

How do I turn on / off the timestamp when debugging the chrome console?

vulnhub靶机Os-hackNos-1

微信小程序之从底部弹出可选菜单

Distributed database uses logical volume to manage storage expansion

Acquisition of wechat applet JSON for PHP background database transformation
随机推荐
KS008基于SSM的新闻发布系统
Illustration of ONEFLOW's learning rate adjustment strategy
2022 college entrance examination quarterly essay winners announced
Test article
3 interview salary negotiation skills, easily win 2K higher than expected salary to apply for a job
Use xtradiagram Diagramcontrol for drawing and controlling process graphics
Penetration test - right raising topic
pyqt5之designer制作表格
How to correctly calculate the number of rows imported into EXCEL (poi/npoi)
DTU上报的数据值无法通过腾讯云规则引擎填入腾讯云数据库中
Working for 7 years to develop my brother's career transition test: only by running hard can you get what you want~
去 OPPO 面试, 被问麻了。。。
[digital signal processing] linear time invariant system LTI (judge whether a system is a "non time variant" system | case 2)
Quick view of wechat applet development process
Ks008 SSM based press release system
go语言的变量声明
Linear regression analysis of parent-child height data set
Add Icon before input of wechat applet
系统设计与分析-技术报告-定时清理验证码的一种解决方案
加快 yarn install 的三个简单技巧