<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一站式元數(shù)據(jù)治理平臺(tái)——Datahub入門寶典

          共 11177字,需瀏覽 23分鐘

           ·

          2022-03-16 03:00

          數(shù)據(jù)倉(cāng)庫(kù)系列文章(持續(xù)更新)

          1. 數(shù)倉(cāng)架構(gòu)發(fā)展史
          2. 數(shù)倉(cāng)建模方法論
          3. 數(shù)倉(cāng)建模分層理論
          4. 數(shù)倉(cāng)建模—寬表的設(shè)計(jì)
          5. 數(shù)倉(cāng)建模—指標(biāo)體系
          6. 數(shù)據(jù)倉(cāng)庫(kù)之拉鏈表
          7. 數(shù)倉(cāng)—數(shù)據(jù)集成
          8. 數(shù)倉(cāng)—數(shù)據(jù)集市
          9. 數(shù)倉(cāng)—商業(yè)智能系統(tǒng)
          10. 數(shù)倉(cāng)—埋點(diǎn)設(shè)計(jì)與管理
          11. 數(shù)倉(cāng)—ID Mapping
          12. 數(shù)倉(cāng)—OneID
          13. 數(shù)倉(cāng)—AARRR海盜模型
          14. 數(shù)倉(cāng)—總線矩陣
          15. 數(shù)倉(cāng)—數(shù)據(jù)安全
          16. 數(shù)倉(cāng)—數(shù)據(jù)質(zhì)量
          17. 數(shù)倉(cāng)—數(shù)倉(cāng)建模和業(yè)務(wù)建模

          隨著數(shù)字化轉(zhuǎn)型的工作推進(jìn),數(shù)據(jù)治理的工作已經(jīng)被越來越多的公司提上了日程。作為新一代的元數(shù)據(jù)管理平臺(tái),Datahub在近一年的時(shí)間里發(fā)展迅猛,大有取代老牌元數(shù)據(jù)管理工具Atlas之勢(shì)。國(guó)內(nèi)Datahub的資料非常少,大部分公司想使用Datahub作為自己的元數(shù)據(jù)管理平臺(tái),但可參考的資料太少。

          所以整理了這份文檔供大家學(xué)習(xí)使用。本文檔基于Datahub最新的0.8.20版本,整理自部分官網(wǎng)內(nèi)容,各種博客及實(shí)踐過程。文章較長(zhǎng),建議收藏。新版本的文檔請(qǐng)關(guān)注公眾號(hào) 大數(shù)據(jù)流動(dòng),會(huì)持續(xù)的更新~

          通過本文檔,可以快速的入門Datahub,成功的搭建Datahub并且獲取到數(shù)據(jù)庫(kù)的元數(shù)據(jù)信息。是從0到1的入門文檔,更多Datahub的高級(jí)功能,可以關(guān)注后續(xù)的文章更新。


          正文共:?10289字?32

          預(yù)計(jì)閱讀時(shí)間:?26分鐘


          文檔共分為6個(gè)部分,層級(jí)結(jié)構(gòu)如下圖所示。



          一、數(shù)據(jù)治理與元數(shù)據(jù)管理

          背景

          為什么要做數(shù)據(jù)治理?業(yè)務(wù)繁多,數(shù)據(jù)繁多,業(yè)務(wù)數(shù)據(jù)不斷迭代。人員流動(dòng),文檔不全,邏輯不清楚,對(duì)于數(shù)據(jù)很難直觀理解,后期很難維護(hù)。

          在大數(shù)據(jù)研發(fā)中,原始數(shù)據(jù)就有著非常多的數(shù)據(jù)庫(kù),數(shù)據(jù)表。

          而經(jīng)過數(shù)據(jù)的聚合以后,又會(huì)有很多的維度表。

          近幾年來數(shù)據(jù)的量級(jí)在瘋狂的增長(zhǎng),由此帶來了系列的問題。作為對(duì)人工智能團(tuán)隊(duì)的數(shù)據(jù)支撐,我們聽到的最多的質(zhì)疑是 “正確的數(shù)據(jù)集”,他們需要正確的數(shù)據(jù)用于他們的分析。我們開始意識(shí)到,雖然我們構(gòu)建了高度可擴(kuò)展的數(shù)據(jù)存儲(chǔ),實(shí)時(shí)計(jì)算等等能力,但是我們的團(tuán)隊(duì)仍然在浪費(fèi)時(shí)間尋找合適的數(shù)據(jù)集來進(jìn)行分析。

          也就是我們?nèi)狈?duì)數(shù)據(jù)資產(chǎn)的管理。事實(shí)上,有很多公司都提供了開源的解決方案來解決上述問題,這也就是數(shù)據(jù)發(fā)現(xiàn)與元數(shù)據(jù)管理工具。

          元數(shù)據(jù)管理

          簡(jiǎn)單地說,元數(shù)據(jù)管理是為了對(duì)數(shù)據(jù)資產(chǎn)進(jìn)行有效的組織。它使用元數(shù)據(jù)來幫助管理他們的數(shù)據(jù)。它還可以幫助數(shù)據(jù)專業(yè)人員收集、組織、訪問和豐富元數(shù)據(jù),以支持?jǐn)?shù)據(jù)治理。

          三十年前,數(shù)據(jù)資產(chǎn)可能是 Oracle 數(shù)據(jù)庫(kù)中的一張表。然而,在現(xiàn)代企業(yè)中,我們擁有一系列令人眼花繚亂的不同類型的數(shù)據(jù)資產(chǎn)。可能是關(guān)系數(shù)據(jù)庫(kù)或 NoSQL 存儲(chǔ)中的表、實(shí)時(shí)流數(shù)據(jù)、 AI 系統(tǒng)中的功能、指標(biāo)平臺(tái)中的指標(biāo),數(shù)據(jù)可視化工具中的儀表板。

          現(xiàn)代元數(shù)據(jù)管理應(yīng)包含所有這些類型的數(shù)據(jù)資產(chǎn),并使數(shù)據(jù)工作者能夠更高效地使用這些資產(chǎn)完成工作。

          所以,元數(shù)據(jù)管理應(yīng)具備的功能如下:

          • 搜索和發(fā)現(xiàn):數(shù)據(jù)表、字段、標(biāo)簽、使用信息

          • 訪問控制:訪問控制組、用戶、策略

          • 數(shù)據(jù)血緣:管道執(zhí)行、查詢

          • 合規(guī)性:數(shù)據(jù)隱私/合規(guī)性注釋類型的分類

          • 數(shù)據(jù)管理:數(shù)據(jù)源配置、攝取配置、保留配置、數(shù)據(jù)清除策略

          • AI 可解釋性、再現(xiàn)性:特征定義、模型定義、訓(xùn)練運(yùn)行執(zhí)行、問題陳述

          • 數(shù)據(jù)操作:管道執(zhí)行、處理的數(shù)據(jù)分區(qū)、數(shù)據(jù)統(tǒng)計(jì)

          • 數(shù)據(jù)質(zhì)量:數(shù)據(jù)質(zhì)量規(guī)則定義、規(guī)則執(zhí)行結(jié)果、數(shù)據(jù)統(tǒng)計(jì)

          架構(gòu)與開源方案

          下面介紹元數(shù)據(jù)管理的架構(gòu)實(shí)現(xiàn),不同的架構(gòu)都對(duì)應(yīng)了不同的開源實(shí)現(xiàn)。

          下圖描述了第一代元數(shù)據(jù)架構(gòu)。它通常是一個(gè)經(jīng)典的單體前端(可能是一個(gè) Flask 應(yīng)用程序),連接到主要存儲(chǔ)進(jìn)行查詢(通常是 MySQL/Postgres),一個(gè)用于提供搜索查詢的搜索索引(通常是 Elasticsearch),并且對(duì)于這種架構(gòu)的第 1.5 代,也許一旦達(dá)到關(guān)系數(shù)據(jù)庫(kù)的“遞歸查詢”限制,就使用了處理譜系(通常是 Neo4j)圖形查詢的圖形索引。

          很快,第二代的架構(gòu)出現(xiàn)了。單體應(yīng)用程序已拆分為位于元數(shù)據(jù)存儲(chǔ)數(shù)據(jù)庫(kù)前面的服務(wù)。該服務(wù)提供了一個(gè) API,允許使用推送機(jī)制將元數(shù)據(jù)寫入系統(tǒng)。

          第三代架構(gòu)是基于事件的元數(shù)據(jù)管理架構(gòu),客戶可以根據(jù)他們的需要以不同的方式與元數(shù)據(jù)數(shù)據(jù)庫(kù)交互。

          元數(shù)據(jù)的低延遲查找、對(duì)元數(shù)據(jù)屬性進(jìn)行全文和排名搜索的能力、對(duì)元數(shù)據(jù)關(guān)系的圖形查詢以及全掃描和分析能力。

          Datahub 就是采用的這種架構(gòu)。

          下圖是當(dāng)今元數(shù)據(jù)格局的簡(jiǎn)單直觀表示:

          (包含部分非開源方案)

          其他方案可作為調(diào)研的主要方向,但不是本文討論的重點(diǎn)。

          二、Datahub簡(jiǎn)介

          首先,阿里云也有一款名為DataHub的產(chǎn)品,是一個(gè)流式處理平臺(tái),本文所述DataHub與其無(wú)關(guān)。

          數(shù)據(jù)治理是大佬們最近談的一個(gè)火熱的話題。不管國(guó)家層面,還是企業(yè)層面現(xiàn)在對(duì)這個(gè)問題是越來越重視。數(shù)據(jù)治理要解決數(shù)據(jù)質(zhì)量,數(shù)據(jù)管理,數(shù)據(jù)資產(chǎn),數(shù)據(jù)安全等等。而數(shù)據(jù)治理的關(guān)鍵就在于元數(shù)據(jù)管理,我們要知道數(shù)據(jù)的來龍去脈,才能對(duì)數(shù)據(jù)進(jìn)行全方位的管理,監(jiān)控,洞察。

          DataHub是由LinkedIn的數(shù)據(jù)團(tuán)隊(duì)開源的一款提供元數(shù)據(jù)搜索與發(fā)現(xiàn)的工具。

          提到LinkedIn,不得不想到大名鼎鼎的Kafka,Kafka就是LinkedIn開源的。LinkedIn開源的Kafka直接影響了整個(gè)實(shí)時(shí)計(jì)算領(lǐng)域的發(fā)展,而LinkedIn的數(shù)據(jù)團(tuán)隊(duì)也一直在探索數(shù)據(jù)治理的問題,不斷努力擴(kuò)展其基礎(chǔ)架構(gòu),以滿足不斷增長(zhǎng)的大數(shù)據(jù)生態(tài)系統(tǒng)的需求。隨著數(shù)據(jù)的數(shù)量和豐富性的增長(zhǎng),數(shù)據(jù)科學(xué)家和工程師要發(fā)現(xiàn)可用的數(shù)據(jù)資產(chǎn),了解其出處并根據(jù)見解采取適當(dāng)?shù)男袆?dòng)變得越來越具有挑戰(zhàn)性。為了幫助增長(zhǎng)的同時(shí)繼續(xù)擴(kuò)大生產(chǎn)力和數(shù)據(jù)創(chuàng)新,創(chuàng)建了通用的元數(shù)據(jù)搜索和發(fā)現(xiàn)工具DataHub。

          市面上常見的元數(shù)據(jù)管理系統(tǒng)有如下幾個(gè):

          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之前我們也介紹過,對(duì)hive有非常好的支持,但是部署起來非常的吃力。amundsen還是一個(gè)新興的框架,還沒有release版本,未來可能會(huì)發(fā)展起來還需要慢慢觀察。

          綜上,datahub是目前的一顆新星,只是目前datahub的資料還較少,未來我們將持續(xù)關(guān)注與更新datahub的更多資訊。

          目前datahub的github星數(shù)已經(jīng)達(dá)到4.3k。



          Datahub官網(wǎng)

          Datahub官網(wǎng)對(duì)于其描述為Data ecosystems are diverse — too diverse. DataHub's extensible metadata platform enables data discovery, data observability and federated governance that helps you tame this complexity.

          數(shù)據(jù)生態(tài)是多樣的,而 DataHub提供了可擴(kuò)展的元數(shù)據(jù)管理平臺(tái),可以滿足數(shù)據(jù)發(fā)現(xiàn),數(shù)據(jù)可觀察與治理。這也極大的解決了數(shù)據(jù)復(fù)雜性的問題。



          Datahub提供了豐富的數(shù)據(jù)源支持與血緣展示。



          在獲取數(shù)據(jù)源的時(shí)候,只需要編寫簡(jiǎn)單的yml文件就可以完成元數(shù)據(jù)的獲取。



          在數(shù)據(jù)源的支持方面,Datahub支持druid,hive,kafka,mysql,oracle,postgres,redash,metabase,superset等數(shù)據(jù)源,并支持通過airflow的數(shù)據(jù)血緣獲取。可以說實(shí)現(xiàn)了從數(shù)據(jù)源到BI工具的全鏈路的數(shù)據(jù)血緣打通。


          三、Datahub界面

          通過Datahub的頁(yè)面我們來簡(jiǎn)單了解下Datahub所能滿足的功能。

          3.1 首頁(yè)

          首先,在登錄到Datahub以后就進(jìn)入了Datahub首頁(yè),首頁(yè)中提供了Datahub的菜單欄,搜索框和元數(shù)據(jù)信息列表。這是為了讓大家可以快速的對(duì)元數(shù)據(jù)進(jìn)行管理。

          元數(shù)據(jù)信息中按照數(shù)據(jù)集,儀表板,圖表等類型進(jìn)行了分類。



          再往下看是平臺(tái)信息,在這當(dāng)中包括了Hive,Kafka,Airflow等平臺(tái)信息的收集。



          下面其實(shí)是一些搜索的統(tǒng)計(jì)信息。用于統(tǒng)計(jì)最近以及最流行的搜索結(jié)果。

          包括一些標(biāo)簽和術(shù)語(yǔ)表信息。


          3.2 分析頁(yè)面

          分析頁(yè)面是對(duì)元數(shù)據(jù)信息的統(tǒng)計(jì),也是對(duì)使用datahub的用戶信息的統(tǒng)計(jì)。

          可以理解為一個(gè)展示頁(yè)面,這對(duì)于總體情況的了解還是非常的有必要的。



          其他的功能基本是對(duì)于用戶和權(quán)限的控制。



          四、整體架構(gòu)

          要想學(xué)習(xí)好Datahub,就必須了解Datahub的整體架構(gòu)。

          通過Datahub的架構(gòu)圖可以清晰的了解Datahub的架構(gòu)組成。


          DataHub 的架構(gòu)有三個(gè)主要部分。

          前端為 Datahub frontend作為前端的頁(yè)面展示。

          豐富的前端展示讓Datahub 擁有了支撐大多數(shù)功能的能力。其前端基于React框架研發(fā),對(duì)于有二次研發(fā)打算的公司,要注意此技術(shù)棧的匹配性。

          后端 Datahub serving來提供后端的存儲(chǔ)服務(wù)。

          Datahub 的后端開發(fā)語(yǔ)言為Python,存儲(chǔ)基于ES或者Neo4J。

          而Datahub ingestion則用于抽取元數(shù)據(jù)信息。

          Datahub 提供了基于API元數(shù)據(jù)主動(dòng)拉取方式,和基于Kafka的實(shí)時(shí)元數(shù)據(jù)獲取方式。這對(duì)于元數(shù)據(jù)的獲取非常的靈活。

          這三部分也是我們部署過程中主要關(guān)注的點(diǎn),下面我們就從零開始部署Datahub,并獲取一個(gè)數(shù)據(jù)庫(kù)的元數(shù)據(jù)信息。

          五、快速安裝部署

          部署datahub對(duì)于系統(tǒng)有一定的要求。本文基于CentOS7進(jìn)行安裝。

          要先安裝好 docker,jq,docker-compose。同時(shí)保證系統(tǒng)的python版本為 Python 3.6+。

          5.1、安裝docker,docker-compose,jq

          Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux或Windows操作系統(tǒng)的機(jī)器上,也可以實(shí)現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。

          可以通過yum的方式快速的安裝docker

          yum -y install docker

          完成后通過docker -v來查看版本情況。

          # docker -v
          Docker version 1.13.1, build 7d71120/1.13.1

          通過下面的命令可以啟停docker

          systemctl start docker // 啟動(dòng)docker
          systemctl stop docker // 關(guān)閉docker

          隨后安裝Docker Compose

          Docker Compose是 docker 提供的一個(gè)命令行工具,用來定義和運(yùn)行由多個(gè)容器組成的應(yīng)用。使用 compose,我們可以通過 YAML 文件聲明式的定義應(yīng)用程序的各個(gè)服務(wù),并由單個(gè)命令完成應(yīng)用的創(chuàng)建和啟動(dòng)。

          sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

          修改執(zhí)行權(quán)限

          sudo chmod +x /usr/local/bin/docker-compose

          建立軟連接

          ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

          查看版本,驗(yàn)證安裝成功。

          docker-compose --version
          docker-compose version 1.29.2, build 5becea4c

          安裝jq

          首先安裝EPEL源,企業(yè)版 Linux 附加軟件包(以下簡(jiǎn)稱 EPEL)是一個(gè) Fedora 特別興趣小組,用以創(chuàng)建、維護(hù)以及管理針對(duì)企業(yè)版 Linux 的一個(gè)高質(zhì)量附加軟件包集,面向的對(duì)象包括但不限于 紅帽企業(yè)版 Linux (RHEL)、 CentOS、Scientific Linux (SL)、Oracle Linux (OL) 。

          EPEL 的軟件包通常不會(huì)與企業(yè)版 Linux 官方源中的軟件包發(fā)生沖突,或者互相替換文件。EPEL 項(xiàng)目與 Fedora 基本一致,包含完整的構(gòu)建系統(tǒng)、升級(jí)管理器、鏡像管理器等等。

          安裝EPEL源

          yum install epel-release

          安裝完EPEL源后,可以查看下jq包是否存在:

          yum list jq

          安裝jq:

          yum install jq

          5.2、安裝python3

          安裝依賴

          yum -y groupinstall "Development tools"
          yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

          下載安裝包

          wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
          tar -zxvf Python-3.8.3.tgz

          編譯安裝

          mkdir /usr/local/python3 
          cd Python-3.8.3
          ./configure --prefix=/usr/local/python3
          make && make install

          修改系統(tǒng)默認(rèn)python指向

          rm -rf /usr/bin/python
          ln -s /usr/local/python3/bin/python3 /usr/bin/python

          修改系統(tǒng)默認(rèn)pip指向

          rm -rf /usr/bin/pip
          ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

          驗(yàn)證

          python -V

          修復(fù)yum

          python3會(huì)導(dǎo)致yum不能正常使用

          vi /usr/bin/yum 
          把 #! /usr/bin/python 修改為 #! /usr/bin/python2
          vi /usr/libexec/urlgrabber-ext-down
          把 #! /usr/bin/python 修改為 #! /usr/bin/python2
          vi /usr/bin/yum-config-manager
          #!/usr/bin/python 改為 #!/usr/bin/python2
          沒有的不用修改

          5.3、安裝與啟動(dòng)datahub

          首先升級(jí)pip

          python3 -m pip install --upgrade pip wheel setuptools

          需要看到下面成功的返回。

           Attempting uninstall: setuptools
          Found existing installation: setuptools 57.4.0
          Uninstalling setuptools-57.4.0:
          Successfully uninstalled setuptools-57.4.0
          Attempting uninstall: pip
          Found existing installation: pip 21.2.3
          Uninstalling pip-21.2.3:
          Successfully uninstalled pip-21.2.3

          檢查環(huán)境

          python3 -m pip uninstall datahub acryl-datahub || true  # sanity check - ok if it fails

          收到這樣的提示說明沒有問題。

          WARNING: Skipping datahub as it is not installed.
          WARNING: Skipping acryl-datahub as it is not installed.

          安裝datahub,此步驟時(shí)間較長(zhǎng),耐心等待。

          python3 -m pip install --upgrade acryl-datahub

          收到這樣的提示說明安裝成功。

          Successfully installed PyYAML-6.0 acryl-datahub-0.8.20.0 avro-1.11.0 avro-gen3-0.7.1 backports.zoneinfo-0.2.1 certifi-2021.10.8 charset-normalizer-2.0.9 click-8.0.3 click-default-group-1.2.2 docker-5.0.3 entrypoints-0.3 expandvars-0.7.0 idna-3.3 mypy-extensions-0.4.3 progressbar2-3.55.0 pydantic-1.8.2 python-dateutil-2.8.2 python-utils-2.6.3 pytz-2021.3 pytz-deprecation-shim-0.1.0.post0 requests-2.26.0 stackprinter-0.2.5 tabulate-0.8.9 toml-0.10.2 typing-extensions-3.10.0.2 typing-inspect-0.7.1 tzdata-2021.5 tzlocal-4.1 urllib3-1.26.7 websocket-client-1.2.3

          最后我們看到datahub的版本情況。

          [root@node01 bin]# python3 -m datahub version
          DataHub CLI version: 0.8.20.0
          Python version: 3.8.3 (default, Aug 10 2021, 14:25:56)
          [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]

          隨后啟動(dòng)datahub

          python3 -m datahub docker quickstart

          會(huì)經(jīng)過漫長(zhǎng)的下載過程,耐心等待。

          開始啟動(dòng),注意觀察報(bào)錯(cuò)情況。如果網(wǎng)速不好,需要多執(zhí)行幾次。

          如果可以看到如下顯示,證明安裝成功了。

          訪問ip:9002 輸入 datahub datahub 登錄

          六、元數(shù)據(jù)信息的獲取

          登錄到Datahub以后,會(huì)有一個(gè)友好的welcome頁(yè)面。來提示如何進(jìn)行元數(shù)據(jù)的抓取。

          元數(shù)據(jù)攝入使用的是插件架構(gòu),你僅需要安裝所需的插件。

          攝入源有很多

          插件名稱       安裝命令                              提供功能
          mysql pip install 'acryl-datahub[mysql]' MySQL source

          這里安裝兩個(gè)插件:

          源:mysql

          匯:datahub-rest

          pip install 'acryl-datahub[mysql]'

          安裝的包較多,得到如下提示證明安裝成功。

          Installing collected packages: zipp, traitlets, pyrsistent, importlib-resources, attrs, wcwidth, tornado, pyzmq, pyparsing, pycparser, ptyprocess, parso, nest-asyncio, jupyter-core, jsonschema, ipython-genutils, webencodings, pygments, prompt-toolkit, pickleshare, pexpect, packaging, nbformat, matplotlib-inline, MarkupSafe, jupyter-client, jedi, decorator, cffi, backcall, testpath, pandocfilters, nbclient, mistune, jupyterlab-pygments, jinja2, ipython, defusedxml, debugpy, bleach, argon2-cffi-bindings, terminado, Send2Trash, prometheus-client, nbconvert, ipykernel, argon2-cffi, numpy, notebook, widgetsnbextension, toolz, ruamel.yaml.clib, pandas, jupyterlab-widgets, jsonpointer, tqdm, termcolor, scipy, ruamel.yaml, jsonpatch, ipywidgets, importlib-metadata, altair, sqlalchemy, pymysql, greenlet, great-expectations
          Successfully installed MarkupSafe-2.0.1 Send2Trash-1.8.0 altair-4.1.0 argon2-cffi-21.3.0 argon2-cffi-bindings-21.2.0 attrs-21.3.0 backcall-0.2.0 bleach-4.1.0 cffi-1.15.0 debugpy-1.5.1 decorator-5.1.0 defusedxml-0.7.1 great-expectations-0.13.49 greenlet-1.1.2 importlib-metadata-4.10.0 importlib-resources-5.4.0 ipykernel-6.6.0 ipython-7.30.1 ipython-genutils-0.2.0 ipywidgets-7.6.5 jedi-0.18.1 jinja2-3.0.3 jsonpatch-1.32 jsonpointer-2.2 jsonschema-4.3.2 jupyter-client-7.1.0 jupyter-core-4.9.1 jupyterlab-pygments-0.1.2 jupyterlab-widgets-1.0.2 matplotlib-inline-0.1.3 mistune-0.8.4 nbclient-0.5.9 nbconvert-6.3.0 nbformat-5.1.3 nest-asyncio-1.5.4 notebook-6.4.6 numpy-1.21.5 packaging-21.3 pandas-1.3.5 pandocfilters-1.5.0 parso-0.8.3 pexpect-4.8.0 pickleshare-0.7.5 prometheus-client-0.12.0 prompt-toolkit-3.0.24 ptyprocess-0.7.0 pycparser-2.21 pygments-2.10.0 pymysql-1.0.2 pyparsing-2.4.7 pyrsistent-0.18.0 pyzmq-22.3.0 ruamel.yaml-0.17.19 ruamel.yaml.clib-0.2.6 scipy-1.7.3 sqlalchemy-1.3.24 termcolor-1.1.0 terminado-0.12.1 testpath-0.5.0 toolz-0.11.2 tornado-6.1 tqdm-4.62.3 traitlets-5.1.1 wcwidth-0.2.5 webencodings-0.5.1 widgetsnbextension-3.5.2 zipp-3.6.0

          隨后檢查安裝的插件情況,Datahub是插件式的安裝方式。可以檢查數(shù)據(jù)源獲取插件Source,轉(zhuǎn)換插件transformer,獲取插件Sink。

           python3 -m datahub check plugins

          可見Mysql插件和Rest接口插件已經(jīng)安裝,下面配置從 MySQL 獲取元數(shù)據(jù)使用 Rest 接口將數(shù)據(jù)存儲(chǔ) DataHub。

          vim mysql_to_datahub_rest.yml
          # A sample recipe that pulls metadata from MySQL and puts it into DataHub
          # using the Rest API.
          source:
          type: mysql
          config:
          username: root
          password: 123456
          database: cnarea20200630

          transformers:
          - type: "fully-qualified-class-name-of-transformer"
          config:
          some_property: "some.value"

          sink:
          type: "datahub-rest"
          config:
          server: "http://ip:8080"

          # datahub ingest -c mysql_to_datahub_rest.yml

          隨后是漫長(zhǎng)的數(shù)據(jù)獲取過程。

          得到如下提示后,證明獲取成功。

          {datahub.cli.ingest_cli:83} - Finished metadata ingestion

          Sink (datahub-rest) report:
          {'records_written': 356,
          'warnings': [],
          'failures': [],
          'downstream_start_time': datetime.datetime(2021, 12, 28, 21, 8, 37, 402989),
          'downstream_end_time': datetime.datetime(2021, 12, 28, 21, 13, 10, 757687),
          'downstream_total_latency_in_seconds': 273.354698}
          Pipeline finished with warnings

          在此刷新datahub頁(yè)面,mysql的元數(shù)據(jù)信息已經(jīng)成功獲取。

          進(jìn)入表中查看元數(shù)據(jù)的情況,表字段信息。

          在之前展示元數(shù)據(jù)分析頁(yè)也已經(jīng)有了詳細(xì)的展示。

          至此我們完成了Datahub從0到1的搭建,在整個(gè)過程中除了簡(jiǎn)單的安裝配置以外,基本沒有進(jìn)行任何代碼研發(fā)工作。但是datahub還有更多的功能,比如對(duì)數(shù)據(jù)血緣的獲取,在元數(shù)據(jù)獲取的過程中進(jìn)行轉(zhuǎn)換操作等等。在未來的文章中也會(huì)進(jìn)行更新這些功能的教程。

          未完待續(xù)~

          加我微信,拉你進(jìn)大數(shù)據(jù)技術(shù)交流群。


          小密圈(提問、答疑)


          猜你喜歡
          Hive之同比環(huán)比的計(jì)算
          Hadoop 數(shù)據(jù)遷移用法詳解
          Flink實(shí)時(shí)計(jì)算topN熱榜
          數(shù)倉(cāng)建模分層理論
          數(shù)倉(cāng)建模方法論
          數(shù)倉(cāng)建模—指標(biāo)體系
          瀏覽 62
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  波多野结衣在线精品 | 日本一级婬片A片免费播放一 | 天天爽天天爽天天爽天天爽 | 久久这里只有精品99 | 久久精品国产99精品国产亚洲性色 |