精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

淺談數(shù)據(jù)血緣的實(shí)現(xiàn)原理

大數(shù)據(jù) 數(shù)據(jù)倉庫
市面上其實(shí)針對數(shù)據(jù)血緣的產(chǎn)品有很多,像阿里DataWorks的數(shù)據(jù)地圖、字節(jié)的DataLeap以及非?;鸬拈_源產(chǎn)品Apache Atlas都是非常好用工具產(chǎn)品。但是本質(zhì)上是想通過這篇文章,讓小伙伴們在使用這些產(chǎn)品的時(shí)候多去思考這些產(chǎn)品背后的實(shí)現(xiàn)原理。

1、前言

大數(shù)據(jù)時(shí)代,數(shù)據(jù)的來源極其廣泛,各種類型的數(shù)據(jù)在快速產(chǎn)生,數(shù)據(jù)也是爆發(fā)性增長。從數(shù)據(jù)的產(chǎn)生,通過加工融合流轉(zhuǎn)產(chǎn)生新的數(shù)據(jù),到最終消亡,數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系可以稱之為數(shù)據(jù)血緣關(guān)系。在數(shù)據(jù)中臺(tái)的大背景下,數(shù)倉的開發(fā)者經(jīng)常需要解決以下問題:

面對成百上千張的數(shù)據(jù)表,不知道該如何關(guān)聯(lián),也不知道這些表具有什么業(yè)務(wù)價(jià)值

執(zhí)行過長,慢的無法忍受的SQL腳本,卻不敢輕易進(jìn)行整改

數(shù)據(jù)表是否包含機(jī)密數(shù)據(jù)需要被清理,以及這些機(jī)密數(shù)據(jù)是否被轉(zhuǎn)存導(dǎo)致權(quán)限放大

其實(shí),以上的這些問題都可以統(tǒng)一歸類為數(shù)據(jù)發(fā)現(xiàn)問題。大部分企業(yè)會(huì)針對離線數(shù)倉任務(wù)進(jìn)行SQL分析,構(gòu)建表和字段的血緣關(guān)系,數(shù)據(jù)發(fā)現(xiàn)包括但不限于: 數(shù)據(jù) 表/列的業(yè)務(wù)分類分級和機(jī)密字段識(shí)別等。

2、數(shù)據(jù)血緣的基本概念

數(shù)據(jù)血緣(Data Lineage),指的是數(shù)據(jù)從產(chǎn)生、ETL處理、加工、融合、流轉(zhuǎn)到最終消亡,數(shù)據(jù)之間自然形成一種關(guān)系。這些關(guān)系就是描述數(shù)據(jù)的數(shù)據(jù)(元數(shù)據(jù))。掌握了這個(gè)元數(shù)據(jù),就能最大程度的做好數(shù)據(jù)的應(yīng)用和管理。

tips:有童鞋對元數(shù)據(jù)感興趣的,可以看這篇文章https://zhuanlan.zhihu.com/p/336504407

3、數(shù)據(jù)血緣的常見用途

業(yè)務(wù)域的劃分針對任務(wù)的表和字段,通過血緣關(guān)系可以確定表的上下游,以及對應(yīng)這個(gè)表所涵蓋的業(yè)務(wù)范圍包括哪些

提升調(diào)度性能

通過收集調(diào)度任務(wù)的開始結(jié)束時(shí)間,了解任務(wù)ETL鏈路的時(shí)間瓶頸,在根據(jù)JOB的執(zhí)行情況定位性能瓶頸,通過調(diào)整任務(wù)的基線、保證任務(wù)的資源提供,提升整條ETL鏈路的執(zhí)行效率。

數(shù)據(jù)異常定位

若在某天的調(diào)度中,發(fā)現(xiàn)數(shù)據(jù)異常,想確認(rèn)是什么造成,可根據(jù)DQC和血緣關(guān)系了解底層數(shù)據(jù)波動(dòng)情況,快速定位原因。

數(shù)倉鏈路優(yōu)化通過對表和字段的下游使用頻次,找到使用較多的,分析其是否有重復(fù)計(jì)算、浪費(fèi)資源的情況。再判斷是否可以因此建設(shè)事實(shí)或維度表、或者把計(jì)算的指標(biāo)或維度沉淀。

調(diào)度依賴的準(zhǔn)確性判斷

在平時(shí)的開發(fā)過程中,很可能修改過SQL,但是忘記在調(diào)度平臺(tái)上配置相對應(yīng)的依賴,這樣很可能會(huì)出現(xiàn)問題,其實(shí)通過調(diào)度平臺(tái)的調(diào)度關(guān)系的元數(shù)據(jù),和收集到的血緣關(guān)系進(jìn)行對比,可定時(shí)性的判斷調(diào)度任務(wù)依賴是否準(zhǔn)確。

4、數(shù)據(jù)血緣的實(shí)現(xiàn)原理(表級別)

本文只闡述最基本的表級別的血緣關(guān)系的實(shí)現(xiàn)思路,真實(shí)的血緣實(shí)現(xiàn),遠(yuǎn)比文章中的場景復(fù)雜。

原理一  SQL解析之正則表達(dá)式

在最開始時(shí),剛畢業(yè)的小白,如果讓你做好數(shù)倉的血緣元數(shù)據(jù)時(shí),你會(huì)怎么做?

在初期的小白根本就不懂編譯器、語法分析、詞法分析以及AST這些概念時(shí),想到的唯一辦法就是通過正則這個(gè)樸素的手段去解析SQL了,想法也非常直接,F(xiàn)ROM或者JOIN后面就是源表,INSERT INTO/INSERT OVERWRITE TABLE后面就是目標(biāo)表。

source_table_regex = re.compile(r"(?:from|join)\s+(\S*)(?:\s+|;)", re.IGNORECASE)
target_table_regex = re.compile(r"insert\s+(?:into|overwrite)\s+table\s+(\S*)\s+", re.IGNORECASE)

不過,若是我們的SQL是這樣的呢?

select * 
--from tableA
from tableB;

或者是這樣的:

select * from tableA
where description = "from Excel";

你會(huì)發(fā)現(xiàn),這個(gè)思路有很多漏洞。事實(shí)上如果加上一些if-else的判斷,這個(gè)方案其實(shí)也滿足了大部分場景。但是?。。?!身為開發(fā)人員一定要明白一個(gè)理念,當(dāng)你在生產(chǎn)環(huán)境中只要有一個(gè)場景沒有滿足,那就是bug。

原理二 AST語法樹的解析

首先針對思路二,大家可以提前了解AST的概念,參考https://blog.csdn.net/u013212754/article/details/106981084

其次在了解思路二前提下,需要知道Hive SQL的執(zhí)行過程(畢竟還是看的HQL的語法樹)以及一些名詞解釋。

  • 名詞解釋

詞法分析器:詞法分析器的工作是分析量化那些本來毫無意義的字符流,將他們翻譯成離散的字符組(也就是一個(gè)一個(gè)的Token),供語法分析器使用。簡單說就是分析sql里每個(gè)單詞該怎么組成。

語法分析:語法分析器將把收到的Tokens組織起來,并轉(zhuǎn)換成語法規(guī)則定義的所允許的結(jié)構(gòu)。簡單說就是研究這些單詞該以怎樣的結(jié)構(gòu)組成一個(gè)SQL的。

Antlr:ANTLR (ANother Tool for Language Recognition ) 是一種語言識(shí)別工具,它提供了一個(gè)框架,可以通過包含 Java, C++, 或 C# 動(dòng)作(action)的語法描述來構(gòu)造語言識(shí)別器,編譯器和解釋器。

  • Hive SQL的解析流程:

Hive根據(jù)Antlr定義的詞法、語法規(guī)則完成詞法、語法分析將HQL解析為AST Tree;

遍歷AST Tree,抽象出查詢的基本組成單元Query Block;

遍歷Query Block解析為操作樹Operator Tree(即,邏輯執(zhí)行計(jì)劃);

邏輯優(yōu)化器進(jìn)行操作樹變換,合并多余的ReduceSinkOperator,減少shuffle;

遍歷Operator Tree,將操作樹翻譯為對應(yīng)的MapReduce任務(wù);

物理優(yōu)化器進(jìn)行MapReduce任務(wù)變換,生成最終的執(zhí)行計(jì)劃。

圖片

具體步驟:

  • 對Hive SQL進(jìn)行詞法分析和語法分析,獲取對應(yīng)的AST 原始的抽象語法樹
  • AST語法樹剪枝優(yōu)化,減少遍歷次數(shù),提高語義解析的效率,具體主要做兩方面的優(yōu)化:

針對token中涉及到的無效解析節(jié)點(diǎn)進(jìn)行刪除,如order by,distributedby,cluster by,sort by以及l(fā)imit;

針對token中where/having的子查詢,在保證SQL語法正確性以及語義完整性的前提下,采用1=1 等價(jià)策略進(jìn)行等價(jià)替換,降低了血緣關(guān)系解析的復(fù)雜性;通過以上兩種剪枝操作,既可以減少SQL語句的復(fù)雜性,又可以降低AST語法樹的層級,進(jìn)一步減少了遍歷AST樹遞歸次數(shù),降低血緣分析的復(fù)雜性,提高了語句解析效率。

遍歷AST獲取上游表名和下游表名,在SQL語句中存在大部分SQL語句片段即CTE。由于其在血緣關(guān)系解析中不起關(guān)鍵作用,且對SQL解析帶來很大困擾,因此血緣關(guān)系解析需對CTE類型進(jìn)行識(shí)別,并進(jìn)行替換與刪除。

5、總結(jié)

市面上其實(shí)針對數(shù)據(jù)血緣的產(chǎn)品有很多,像阿里DataWorks的數(shù)據(jù)地圖、字節(jié)的DataLeap以及非常火的開源產(chǎn)品Apache Atlas都是非常好用工具產(chǎn)品。但是本質(zhì)上是想通過這篇文章,讓小伙伴們在使用這些產(chǎn)品的時(shí)候多去思考這些產(chǎn)品背后的實(shí)現(xiàn)原理。

責(zé)任編輯:武曉燕 來源: 得物技術(shù)
相關(guān)推薦

2009-07-10 14:55:34

2022-08-20 07:28:44

?數(shù)據(jù)地圖大數(shù)據(jù)數(shù)據(jù)血緣

2009-06-04 08:01:25

Struts2攔截器原理

2011-03-14 09:57:09

J-Hi

2009-06-26 16:09:53

2010-09-29 14:56:53

2010-09-25 13:11:48

DHCP工作原理

2023-02-28 07:22:14

數(shù)據(jù)血緣能DataLeap

2018-01-09 16:37:46

網(wǎng)絡(luò)劫持HTTPS緩存

2010-07-22 11:18:14

2023-12-11 07:21:12

SPI機(jī)制插件

2010-09-27 13:16:42

2023-06-15 07:24:11

數(shù)據(jù)治理EB級數(shù)倉

2025-07-11 09:38:47

2023-12-20 14:10:53

2017-02-08 11:00:50

數(shù)據(jù)庫索引類型

2011-02-28 11:19:12

雙絞線布線

2020-03-08 15:39:41

微信掃碼登陸二維碼

2009-06-04 10:41:52

Struts工作原理

2011-11-10 08:58:41

UML
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

99精品在线直播| 亚洲国产一区二区三区四区| 日韩精品久久一区| 影音先锋黄色网址| 中文字幕一区二区三区乱码图片 | 日本少妇一区| 亚洲国产高清aⅴ视频| 18成人在线| 久久久久99精品成人片我成大片 | 国产午夜精品久久久| 国产精品区在线| xxxx成人| 国产精品人妖ts系列视频 | 欧美一性一交| 精品视频1区2区3区| 国产真人做爰毛片视频直播| 国产天堂素人系列在线视频| 国产精品一区二区你懂的| 欧美专区第一页| 欧美性猛交xxxxx少妇| 国产午夜一区| 欧美大胆人体bbbb| 自拍偷拍21p| 蜜桃视频在线网站| 亚洲欧美日韩国产手机在线 | 欧美18xxxxx| 丰满亚洲少妇av| 国产欧美日韩精品丝袜高跟鞋| 精品深夜av无码一区二区老年| 日韩欧美午夜| 亚洲欧洲成视频免费观看| 第一页在线视频| 福利一区二区| 色av综合在线| 男女激情无遮挡| 婷婷在线播放| 亚洲欧洲在线观看av| 日本一区二区三区免费观看 | 一区二区三区美女xx视频| 亚洲麻豆一区二区三区| 欧美黄色一级| 91精品国产福利在线观看| 午夜在线观看av| 欧美成人精品三级网站| 欧美日韩精品在线观看| av高清在线免费观看| 激情影院在线| 一区二区三区国产豹纹内裤在线| 9999在线观看| 午夜在线小视频| 中文成人综合网| 日韩影片在线播放| 成人77777| 日本一区二区三区免费乱视频| 久久久久久草| 你懂的在线网址| 久久久精品蜜桃| 欧美一区二区在线| caoporn国产精品免费视频| 久久久久久一级片| 日韩成人av电影在线| 国产视频网站在线| 国产精品系列在线| 亚洲最大免费| 国产调教视频在线观看| 亚洲精选视频在线| 国产一区二区四区| 欧美a级在线观看| 欧美性猛交xxxx久久久| 无码无遮挡又大又爽又黄的视频| 婷婷六月国产精品久久不卡| 在线观看成人小视频| 男人的天堂最新网址| 高清在线一区二区| 亚洲аv电影天堂网| 国产白嫩美女无套久久| 国产a久久精品一区二区三区 | 亚洲区一区二区三| 欧美粗暴jizz性欧美20| 欧美激情在线有限公司| 日本中文字幕免费观看| 久久综合中文| 成人www视频在线观看| 亚洲黄色在线观看视频| 91免费国产在线观看| 深田咏美在线x99av| 人人干在线视频| ●精品国产综合乱码久久久久| 欧美一级黄色录像片| cao在线视频| 在线视频一区二区三区| 中文字幕在线视频一区二区三区 | 日韩免费在线观看| 一级特级黄色片| 日韩在线高清| 久久久久亚洲精品国产| 亚洲精品毛片一区二区三区| 国内精品在线播放| 久久av一区二区| 亚乱亚乱亚洲乱妇| 午夜精品久久久久久久99水蜜桃| 欧美性猛交久久久乱大交小说| 国产成人免费av一区二区午夜| 亚洲成人教育av| 久操视频在线观看免费| 欧美1级日本1级| 欧美专区日韩视频| 99视频免费看| 国产日韩精品一区二区三区在线| a级网站在线观看| 手机在线观看av网站| 欧美日韩成人在线一区| 六十路息与子猛烈交尾| 手机在线电影一区| 欧美一区二区三区艳史| 精品毛片在线观看| 欧美韩国日本一区| 久久久久久人妻一区二区三区| 欧洲美女精品免费观看视频 | 成人免费视频在线观看超级碰| 五月激情婷婷综合| 一区二区三区在线不卡| 亚洲视频在线观看一区二区三区| 风间由美性色一区二区三区四区 | 日本理论片午伦夜理片在线观看| 欧美亚洲动漫制服丝袜| 一起草在线视频| 欧美日韩1区2区3区| 国产精品青草久久久久福利99| 香蕉av一区二区三区| 一区二区三区在线视频观看58| www.色就是色| 亚洲高清极品| 久久久久久久激情视频| 国产普通话bbwbbwbbw| 日本一区二区三级电影在线观看| 日韩少妇内射免费播放18禁裸乳| 免费视频爱爱太爽了| 国产18精品乱码免费看| 亚洲欧洲精品天堂一级| 无限资源日本好片| 禁断一区二区三区在线| 欧美整片在线观看| 性感美女福利视频| 激情亚洲一区二区三区四区| 激情av中文字幕| 欧美三级视频| 不卡视频一区二区三区| 中文在线手机av| 日韩女优视频免费观看| 玖玖爱免费视频| 国产精品一级黄| 超碰10000| 日韩精品久久久久久久软件91| 久久久av网站| 国产av精国产传媒| 一区二区三区中文字幕精品精品| 欧美体内she精高潮| 天天做天天爱天天综合网2021| 91免费看片网站| 黄网站在线播放| 欧美一级精品在线| 欧美日韩国产精品一区二区三区| 国产乱码字幕精品高清av| 一二三在线视频| ady日本映画久久精品一区二区| 久久久久亚洲精品成人网小说| 少妇精品视频一区二区| 日韩欧美中文字幕在线观看| 黄色国产在线观看| 蜜桃视频一区二区三区| 国产又大又长又粗又黄| 欧州一区二区三区| 亚州精品天堂中文字幕| 九九在线视频| 欧美日韩免费一区二区三区| 日韩a级片在线观看| 高清免费成人av| 国产肥臀一区二区福利视频| 国产传媒欧美日韩成人精品大片| 国产精品日韩在线播放| gogo在线高清视频| 亚洲精品乱码久久久久久按摩观| 天堂网视频在线| 中文字幕一区二区三区视频| 中文字幕无人区二| 免费在线日韩av| 在线观看精品视频| 91久久偷偷做嫩草影院电| 欧美中在线观看| 精品麻豆一区二区三区 | 88国产精品欧美一区二区三区| 免费黄色在线视频网站| 欧美精品tushy高清| 国产无码精品久久久| 欧美激情综合五月色丁香小说| 911av视频| 一区二区日本视频| 亚洲一区美女| 青青草久久爱| 成人在线播放av| 一区二区三区四区日本视频| 精品国产一区久久久| 亚洲av片在线观看| 欧美精品精品一区| 一本一道无码中文字幕精品热| 亚洲欧美中日韩| 在线观看福利片| 国产精品一二一区| 孩娇小videos精品| 亚洲精一区二区三区| 亚洲综合五月天| 夜色77av精品影院| 高清国产在线一区| 欧美激情啪啪| 国产91在线播放| caoprom在线| 色噜噜国产精品视频一区二区| 深爱激情五月婷婷| 日韩午夜小视频| 在线观看毛片网站| 色综合一个色综合亚洲| 日本最新中文字幕| 一区二区三区中文字幕电影 | 天天干天天操天天做| 亚洲综合二区| 欧美狂野激情性xxxx在线观| 欧美xxxx中国| 色一情一区二区三区四区| 欧美a一欧美| 国产成人成网站在线播放青青| 日韩黄色三级在线观看| 国产精品久久久久99| 欧美精品日日操| 欧美怡红院视频一区二区三区| 成人性生交大片免费看在线播放| 久久久国产精品免费| 一级毛片视频在线| 在线精品高清中文字幕| 内衣办公室在线| 国产视频久久网| 四虎影视精品成人| 欧美一区二区三区免费在线看| 中文字字幕在线中文乱码| 欧洲精品中文字幕| 亚洲欧美一区二区三区在线观看| 精品日韩美女的视频高清| 九九热在线视频播放| 五月婷婷综合网| 精品国产乱码一区二区| 午夜精品一区在线观看| 日韩女优在线观看| 欧美日韩国产丝袜另类| 国产综合精品视频| 色综合天天综合| 一二三区免费视频| 在线观看av一区| 亚洲一区二区天堂| 91精品国产综合久久精品图片| 国产精品人妻一区二区三区| 91精品免费在线观看| www.黄色av| 精品对白一区国产伦| 狠狠躁夜夜躁av无码中文幕| 亚洲国产精彩中文乱码av在线播放| 六月婷婷综合网| 亚洲精品视频在线播放| 国产一级免费在线观看| 色偷偷88888欧美精品久久久| 黄在线免费看| 97国产在线视频| 免费福利视频一区二区三区| 国产精品视频免费观看www| 91麻豆精品国产综合久久久| 97人人干人人| 久久资源综合| 色狠狠久久av五月综合|| 午夜影院欧美| a级免费在线观看| 石原莉奈在线亚洲三区| gai在线观看免费高清| 岛国一区二区在线观看| 免费观看av网站| 国产精品视频看| 极品盗摄国产盗摄合集| 激情av一区二区| 影音先锋国产资源| 精品国产91乱码一区二区三区 | 欧美成人午夜影院| 爱啪视频在线观看视频免费| 国产成人精品综合| 国产日韩在线观看视频| 久久偷窥视频| 国产精品久久久久一区二区三区厕所 | 一区二区三区免费| 综合网在线观看| 欧美一区二区在线视频| 亚洲av成人精品日韩在线播放| 丝袜情趣国产精品| 爱福利在线视频| 成人黄色激情网| 久9久9色综合| www国产无套内射com| 久久综合影音| 亚洲美女高潮久久久| 国产精品久久久久影院老司| 日韩av片在线播放| 日韩一级二级三级| 国产精品免费观看| 97视频在线观看播放| www欧美在线观看| 日韩高清国产一区在线观看| 国产在线不卡| 久久久久久久久久久久久久久国产| 91色婷婷久久久久合中文| 久久久久久久久精| 欧美久久一二区| 国产在线观看免费| 久久免费少妇高潮久久精品99| 亚洲精品一区av| 亚州欧美一区三区三区在线| 99在线热播精品免费99热| 日本亚洲一区二区三区| 中文字幕免费观看一区| 亚洲综合图片网| 日韩av在线一区二区| 四虎影视国产在线视频| 成人网在线免费观看| 日本a口亚洲| 激情五月亚洲色图| www一区二区| 99精品视频99| 亚洲精品在线一区二区| 中国av在线播放| 91亚洲午夜在线| 99久久精品费精品国产风间由美| 日本男人操女人| 26uuu国产一区二区三区| 六月丁香在线视频| 亚洲国内精品在线| 丰满大乳少妇在线观看网站| 97se亚洲综合| 欧美国内亚洲| 伊人五月天婷婷| 自拍偷拍亚洲激情| 国产精品系列视频| 久久天堂av综合合色| а天堂中文最新一区二区三区| 中文字幕欧美日韩一区二区| 老司机免费视频一区二区三区| 大胸美女被爆操| 欧美日韩在线观看一区二区| а天堂8中文最新版在线官网| 国产精品国内视频| 日韩一区二区中文| 日韩va在线观看| 亚洲欧美日韩国产手机在线| 亚洲高清在线观看视频| 久久久这里只有精品视频| 国产精品白浆| 国产黄色一级网站| 久久久久久9999| 在线观看色网站| 超碰精品一区二区三区乱码| 亚洲精品影片| 欧美网站免费观看| 国产夜色精品一区二区av| 伊人免费在线观看高清版| 精品国产一区av| 亚洲亚洲一区二区三区| 免费不卡av在线| 久久美女艺术照精彩视频福利播放 | 国产精品自拍视频| 亚洲精品a级片| 人妻 丝袜美腿 中文字幕| 欧美日韩国产麻豆| 在线观看黄av| 99国产高清| 免费日韩av片| 99久久婷婷国产综合| 亚洲电影av在线| 在线成人视屏 | 国产午夜久久| 人妻熟人中文字幕一区二区| 91麻豆精品国产自产在线| 欧美男男video| 热舞福利精品大尺度视频| 国产裸体歌舞团一区二区| 在线观看国产亚洲| 日韩在线一区二区三区免费视频| ccyy激情综合| 亚洲无吗一区二区三区| 一二三区精品视频| 狠狠色伊人亚洲综合网站l| 成人女保姆的销魂服务| 99视频一区| 97在线观看视频免费| 亚洲国产精品系列| 欧美午夜三级| 男人日女人逼逼|