enjoy编程
Stay hungry, stay foolish.(求知若饥,虚心若愚。)10+IT行业老兵,熟悉大数据处理,分布式编程, 喜欢使用java、python解决工作、生活中的问题
展开
-
DataHub: 现代数据栈的元数据平台--如何与spark集成,自动产生spark作业的数据血缘关系?
DataHub通过如下方式集成spark:提供了一个轻量级的Java代理,它侦听Spark应用程序和作业事件,并实时将数据血缘元数据推送到DataHub;java代理侦听应用程序的开始、结束事件、SQLExecution的开始、结束事件,以在Datahub中创建pipelines (即DataFlow)和任务(即DataJob),以及对正在读写的数据集间的数据血缘关系。Spark作业可以通过不同方式集成datahub-spark-lineage库,集成后运行spark作业时,会自动产生数据血缘关系。原创 2022-03-03 21:45:00 · 2351 阅读 · 2 评论 -
DataHub: 现代数据栈的元数据平台--如何删除元数据?
为了保证DataHub中的元数据的有效性、正确性,需要及时将不正确的、废弃的元数据进行删除。本文主要讲解在DataHub中如何删除元数据?删除元数据主要有2种方式:通过Rest.li API 和 DataHub CLI进行删除,并且都能通过参数针对删除运作进行控制:是软删除还是硬删除原创 2022-02-24 20:49:02 · 1128 阅读 · 2 评论 -
DataHub: 现代数据栈的元数据平台--如何处理同一平台类型的多个实例?
在DataHub v0.8.24 之前,元数据模型不支持同一平台类型的多个实例,原因详见下面的描述。DataHub的元数据模型针对数据集【Dataset】的唯一标识由如下三个部分级成:- Data Platform 数据平台:如 urn:li:dataPlatform:mysql- Name 数据集名称,常用的格式是:db.schema.name- Env 环境:如DEV、PROD等这样的命名格式导致元数据模型不支持同一平台类型的多个实例,本文讲解DataHub如何支持同一平台类型的多个实例。原创 2022-02-21 19:45:00 · 872 阅读 · 2 评论 -
DataHub: 现代数据栈的元数据平台--如何配置DataHub作为Airflow的数据血缘后端存储,自动将工作流DAG写入DataHub作为数据血缘?
Airflow 1.10.15+ and 2.0.2+ 已经支持lineage backend,Airflow 通过任务的入口和出口来跟踪数据,继而实现数据血缘关系:任务执行前,pre_execute方法被调用,准备数据血缘的元数据;在任务完成后,post_execute方法被调用,推送数据血缘元数据到XCOM,然后写到指定的数据血缘后端存储【如DataHub】。本文讲解如何配置DataHub作为Airflow的数据血缘后端存储,将工作流DAG写入DataHub作为数据血缘关系。原创 2022-02-18 22:15:00 · 1265 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台--如何从DataHub容器中提取日志?
DataHub容器、DataHub GMS(backend server)和DataHub前端(UI server)将日志文件写入本地容器文件系统。要提取这些日志,需要从运行服务的容器中获取。当DataHub某一个功能不可用时,就需要通过分析组件日志分析原因。本文针对从DataHub容器中提取日志的方式进行总结。原创 2022-02-15 20:45:00 · 733 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台--组件日志时间早8个小时,怎么办?
DataHub通常使用docker-compose安装部署,但安装好后,查看访问日志,发现日志的时间早了8个小时,怎么办?本文针对此问题,提供解决方案。原创 2022-02-14 22:15:00 · 1112 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台--如何使用数据领域Domain?
DataHub从v0.8.25开始支持针对数据资产进行领域管理Domain是数据资产的逻辑集合,目前一个数据资产一次只能属于一个DomainDomain是对数据资产的显式分组、顶级分类。使用数据领域,能更好的针对数据资产进行划分和管理。本文针对如何使用Domain进行讲解。原创 2022-02-13 21:46:19 · 815 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台--如何针对DataHub UI 前端展示进行汉化
DataHub的组件datahub-frontend-react是DataHub UI的React版本,也是DataHub客户端体验的生产版本。前端是完全独立的。目前DataHub前端是全英文的,并且都是专业术语如Ingestion,让不熟悉数据治理的人很难使用。 公司领导想基于DataHub进行二开,并针对前端进行汉化,方便团队成员及用户的使用。本文讲解如何针对DataHub UI 前端展示进行汉化,并针对汉化遇到的问题进行总结。原创 2022-02-12 13:11:46 · 2196 阅读 · 16 评论 -
DataHub: 现代数据栈的元数据平台--如何快速验证所有组件容器都在正确的运行?
databub中的组件较多,并且都在docker 容器中运行,那么如何快速验证所有组件容器都在正确的运行呢?本文提供如下3类检查方式- 使用datahub内置工具检查- 使用docker 命令检查- 检查组件数据初始化是否正常?最后针对检查出的常见问题,提供解决方案。原创 2022-02-10 22:00:00 · 1516 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台--如何监控DataHub
监控DataHub的系统组件对于运行和改进DataHub至关重要。DataHub中的组件较多,需要使用监控工具监控DataHub的组件,随时查看组件状态,确定系统的性能瓶颈。DataHub使用OpenTelemetry java instrumentation library进行请求的跟踪,DataHub 使用Dropwizard Metrics将自定义指标导出到JMX,然后使用Prometheus-JMX exporter将所有JMX指标导出到Prometheus,最后在grafana中展示。原创 2022-02-08 18:21:00 · 1589 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台--如何搭建本地开发环境
在使用datahub时,业务上可能需要针对源代码进行修改,这就需要搭建一个本地的开发环境。本文讲解如何搭建本地环境并针对碰到的问题进行梳理。Task :li-utils:generateDataTemplate FAILED,'other' has different root error注意:当在Windows上构建项目时,由于Pegasus插件中的一个bug,会导致Task :li-utils:generateDataTemplate 任务构建失败,请在Mac或Linux操作系统上构建。原创 2022-02-08 22:00:00 · 1307 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台--如何添加自定义数据平台
数据平台代表了一个第三方系统,DataHub从数据平台获取元数据实体。每个被摄取的数据集都与一个平台相关联,例如MySQL、OpenGauss、Hive或HDFS。在某些情况下,数据集添加自定义数据平台标识符。例如内部数据系统不是DataHub支持的数据平台。DataHub提供了三种添加数据平台的方式,本文详细介绍如何根据业务需要,添加数据平台。原创 2022-02-07 13:00:29 · 1210 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台--如何将数据血缘关系写入DataHub
在大数据时代,系统的数据来源广泛,各种类型的数据快速产生且爆发性增长。从数据的产生、ETL、数据融合分析、数据应用直至最终消亡,在数据流转过程中数据之间的关联关系称为数据血缘关系。数据血缘揭示了数据的生命周期——目标是记录并显示从数据产生到消亡的完整数据流。数据血缘描述数据处理流程、表、报表、即席查询之间的流向关系、表与表的依赖关系、表与离线ETL任务、调度平台、计算引擎之间的依赖关系。本示例演示如何将数据血缘关系写入DataHub并提供源码示例。原创 2022-02-06 12:42:35 · 2905 阅读 · 7 评论 -
DataHub: 现代数据栈的元数据平台--如何将自定义的元数据事件发送到DataHub
在某些情况下,业务上需要程序直接构造自定义的元数据事件,然后将该元数据发送到DataHub。DataHub分别针对python和java提供了emitter 库。python Emitter提供了 REST 和 Kafka emitter API,很容易进行代码集成。Java emitter 是基于Apache HttpClient库之上的一个轻度封装,它支持元数据的非阻塞emitter,并处理元数据 Aspect的JSON序列化细节。本文针对这两种Emitter如何使用进行讲解。原创 2022-02-04 12:52:48 · 1889 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台--如何安装指定版本的datahub
默认情况下,使用`datahub docker quickstart` 会部署最新版本的datahub,但实际使用时,需要部署指定版本的Datahub,如何做呢?有如下两种方案可以实现此目标:使用docker-compose命令、使用datahub docker CLI命令。具体步骤参见本文原创 2022-02-03 14:21:22 · 2564 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台--如何基于acryl-datahub摄取元数据
[acryl-datahub](https://pypi.org/project/acryl-datahub/)是基于python开发的、可扩展的元数据系统。支持使用Kafka或通过REST API向DataHub发送数据、支持通过CLI工具使用、支持通过任务调度系统如Airflow使用、可以作为一个库使用,方便集成到项目代码中。本文讲解如何基于acryl-datahub进行元数据采集原创 2022-02-03 11:38:47 · 3089 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台--如何针对元数据建模?
DataHub采用模式优先【schema-first】的方法对元数据进行建模: 使用开源的Pegasus模式语言[PDL]扩展了一组定制的注释来针对元数据建模。DataHub存储、服务、索引和摄取层直接在元数据模型之上操作,并支持从客户端到存储层的所有强类型。本文针对元数据建模的核心抽象及实体注册的两种方式进行讲解,让你初步理解Datahub如何针对元数据建模原创 2022-02-02 22:47:17 · 1862 阅读 · 1 评论 -
DataHub: 现代数据栈的元数据平台的Metadata Ingestion Architecture【元数据摄取架构】讲解
DataHub支持极其灵活的摄取体系结构。元数据摄取支持数据源主动推送、被动拉取两种方式,并支持采用同步或异步方式进行。支持针对30+的数据源的元数据进行摄取,经过转换处理后,通过datahub-rest或datahub-kafka 存储到Datahub GMS中。元数据的摄取和落地到GMS采用插件架构,很容易进行扩展。原创 2022-01-29 20:15:00 · 1700 阅读 · 1 评论 -
DataHub: 现代数据栈的元数据平台的Serving Architecture【服务体系架构】讲解
DataHub是为现代数据栈【Modern Data Stack】构建的第三代元数据平台,支持数据发现、协作、治理和端到端可观察性。DataHub采用模型优先的理念,专注于解锁不同工具和系统之间的互操作性。本文针对服务体系架构从2个方面进行讲解:服务层组件、存储和查询元数据的4种DAO,让你更新清晰的理解Datahub的服务体系架构原创 2022-01-29 11:17:00 · 1881 阅读 · 0 评论 -
DataHub: 现代数据栈的元数据平台的入门体验及填坑记录
DataHub是为现代数据栈【Modern Data Stack】构建的第三代元数据平台,支持数据发现、协作、治理和端到端可观察性。DataHub采用模型优先的理念,专注于解锁不同工具和系统之间的互操作性。本文首先针对DataHub的架构及组成部分进行讲解,然后采用快速安装的方式进行部署,并摄取样例元数据 及 MySQL的元数据到Datahub,最后演示在前端界面如何 查看元数据及血缘。并对期间碰到的问题及如何解决的进行了梳理总结。原创 2022-01-29 08:25:51 · 5791 阅读 · 0 评论 -
如何基于阿里的OneData理论进行数据仓库建设
OneData 是阿里巴巴多年大数据开发和治理实践中沉淀总结的方法论,包含 OneModel, OneService, OneID 三个概念。用于解决数据治理中的以下问题:数据孤岛:各产品、业务的数据相互隔离,难以通过共性ID打通重复建设:重复的开发、计算、存储,带来高昂的数据成本数据歧义:指标定义口径不一致,造成计算偏差,应用困难本文提供如何基于阿里的OneData理论进行数据仓库建设原创 2021-12-14 19:15:00 · 1943 阅读 · 0 评论 -
数仓中的维度、原子指标、派生指标、衍生指标、指标分类、缓慢变化维等的含义
1 基本概念1.1 实体从业务角度讲,实体是为了满足分析的需要,抽象出来的概念,从业务中拆分出一个个实体,可以是现实存在的业务对象,如用户,商家,商品,也可以是现实没有的,如虚拟的业务对象,活动,会员等等1.2 维度维度是度量的基础,用来反映业务的一类属性,这类属性的集合构成一个维度,也可以称为一个实体对象。在划分数据域、构建总线矩阵时,需要结合对业务过程的分析定义维度。1.3 业务过程业务过程是指企业的业务活动事件,如下单、支付、退款都是业务过程。通常业务过程是企业活动中的事件,因此业务过程原创 2021-07-19 11:30:33 · 12774 阅读 · 1 评论 -
数据治理--浅谈数据质量管理【从方法论、质量标准、手段、流程分析】
在谈到数据质量时,数据质量问题可能千变万化,如数据不符合标准规范、数据相互矛盾、字段的取值类型不符合期望(如商品的价格期望是float类型,但却是string类型)等如何针对数据质量进行管理,在提升数据质量的同时促进生产效率的提升呢?1. 数据质量方法论但如何针对数据进行质量评价呢,可以参照2018年颁布的推荐性国家标准《GB/T 36344-2018 信息技术 数据质量评价指标》进行评价。1.1. 数据质量评价指标《GB/T 36344-2018 信息技术 数据质量评价指标》从如下6个方面针对数原创 2021-11-21 12:05:27 · 2263 阅读 · 0 评论 -
数据治理--浅谈数据标准、元数据、主数据、数据模型
本文从数据治理角度,阐述数据标准、元数据、主数据、数据模型的概念、关系。这些都是数据治理中的重要概念,其中元数据、主数据也是数据治理的核心中的核心。只有理解了这些概念,才能更好的理解数据治理。原创 2021-11-14 10:26:57 · 4571 阅读 · 0 评论 -
Hive MetaStore 3.1.x 元数据管理库表结构介绍及特色功能
本文以hive metastore 3.1.1000中的库表结构进行分析hive metastore介绍Hive Metastore(HMS)是一项单独的服务,不是Hive的一部分,甚至不必位于同一集群上。hive metastore 用于管理hive的元数据并提供服务。这里的元数据包括:数据库、表、表的模式、目录、分区、索引以及命名空间等。为数据库创建的目录一般在hive数据仓库目录下。在hadoop中的位置Hive metastore Service (HMS) 将Hive表、分区等的元数原创 2021-11-12 21:15:00 · 2337 阅读 · 0 评论 -
数据治理--数据管理标准规范的初步认识
数据治理的内涵逐步泛化是业界共识企业数据治理,涵盖数据发现可用、数据及时稳定产出、数据质量保障、数据安全合规和数据生产的经济性等多个层次。企业数字化转型阶段不同,治理关注的核心需求存在差异数据管理管理中,要保证一个组织已经将数据转换成有用的信息,这项工作所需要的流程和工具就是数据治理的工作原创 2021-11-07 11:53:13 · 22849 阅读 · 0 评论