精品欧美一区二区三区在线观看 _久久久久国色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)

少妇性饥渴无码a区免费| 国产成人精品免费视频大全最热 | 欧美精品一区在线观看| 青青青免费在线| 国产福利小视频在线观看| 精品一区二区在线看| 久久久精品亚洲| 国产精品一级黄片| 欧美激情啪啪| 午夜精品一区二区三区免费视频| 日本一区二区在线视频| 国产成人精品无码高潮| 视频一区二区中文字幕| 欧美第一黄色网| 丰满的亚洲女人毛茸茸| 亚洲视频一起| 欧美午夜宅男影院| av免费观看大全| 免费观看成人高潮| 久久综合九色综合久久久精品综合 | 久久成人久久鬼色| 国模叶桐国产精品一区| 色哟哟一一国产精品| 首页亚洲中字| 欧美videofree性高清杂交| 日本久久久久久久久久久久| 麻豆视频在线观看免费网站黄| 亚洲天堂2014| 亚洲v欧美v另类v综合v日韩v| 天天综合网在线观看| 精品一区二区精品| 国产精品吴梦梦| 免费观看一区二区三区毛片| 国产精品多人| 久久久www成人免费精品| av黄色在线免费观看| 国内精品麻豆美女在线播放视频| 欧美日韩电影一区| 亚洲 欧美 日韩系列| 亚洲精品日产| 欧美日韩加勒比精品一区| 精品人妻大屁股白浆无码| 国产三区视频在线观看| 欧美激情自拍偷拍| 日韩av电影免费在线| 男人的天堂av高清在线| 成人免费视频视频| caoporen国产精品| 92久久精品一区二区| 日本网站在线观看一区二区三区| 91大神福利视频在线| 国产一级视频在线| 精久久久久久| 久久久久久欧美| 久久久精品视频在线| 国产精品v亚洲精品v日韩精品| 久久精品人人爽| 中国毛片直接看| 自拍偷拍欧美专区| 欧美俄罗斯性视频| 国产乡下妇女做爰毛片| 夜久久久久久| 国产精品1区2区在线观看| 日本精品入口免费视频| 美腿丝袜亚洲三区| 96sao精品视频在线观看| a级片在线免费看| 粉嫩一区二区三区性色av| 国产超碰91| 青青青草网站免费视频在线观看| 国产视频一区在线播放| 亚洲欧美在线网| 黄色片网站在线| 亚洲综合自拍偷拍| 狠狠97人人婷婷五月| 色豆豆成人网| 欧美精品第1页| 成人啪啪18免费游戏链接| 六月丁香久久丫| 国产一区二区三区在线| 亚洲色图日韩精品| 欧美精品91| 欧美高清性猛交| 日韩人妻精品中文字幕| 另类成人小视频在线| 91精品国产综合久久久久久丝袜| 日韩一级免费毛片| 久久精品欧美一区二区三区不卡| 亚洲第一精品区| 888av在线视频| 欧美亚洲综合网| 久久久无码人妻精品无码| 教室别恋欧美无删减版| 欧美成人在线网站| 亚洲综合图片网| 国产一区二区精品久久91| 精品免费二区三区三区高中清不卡| 成人18在线| 一区二区三区精品视频在线| 国产精品亚洲αv天堂无码| 成人激情久久| 亚洲天堂av综合网| 国产亚洲精品女人久久久久久| 丝袜美腿亚洲综合| 91日本在线观看| 毛片在线播放网站| 亚洲一区二区美女| 亚洲精品自拍网| 亚洲国产合集| 色综合久久88色综合天天看泰| 成年人视频免费| 不卡区在线中文字幕| 国产三级中文字幕| 电影亚洲一区| 日韩久久午夜影院| 国产一级片免费看| 国产乱一区二区| 亚洲欧美日韩在线综合| 成人影院入口| 亚洲国产精品va在看黑人| 欧美激情图片小说| 麻豆一区二区99久久久久| 欧美激情一区二区三区在线视频 | 美女精品一区最新中文字幕一区二区三区 | 麻豆91精品视频| 欧美一区观看| 日本不卡1234视频| 亚洲成人精品在线| 久久久久97国产| 国产精品自在欧美一区| 自拍偷拍99| 99久久精品一区二区成人| 亚洲精品福利资源站| 久久精品国产亚洲av无码娇色| 国产精品一级片| 国产a级片免费看| 国产精品.xx视频.xxtv| 在线免费观看羞羞视频一区二区| 日本一区二区三区精品| 99精品久久只有精品| 拔插拔插海外华人免费| 精品福利一区| 97免费中文视频在线观看| 老牛影视av牛牛影视av| 亚洲午夜羞羞片| 911亚洲精选| 精品999成人| 国产精品国产三级国产专区53 | 一区二区三区久久久| 精品国产午夜福利在线观看| 欧美成人嫩草网站| 国产98在线|日韩| 9999在线视频| 亚洲精品99久久久久| 精品国产免费观看| 久久综合九色综合97_久久久| 国产精品一色哟哟| 久久草在线视频| 欧美洲成人男女午夜视频| 免费在线视频你懂得| 欧美亚洲国产怡红院影院| www亚洲色图| 久久精品国产99国产精品| 亚洲一区二区在线观| 成人综合日日夜夜| 欧美激情免费观看| 四虎国产精品永远| 在线观看91视频| 国产在线免费看| 国产精品1区2区3区在线观看| www.avtt| 国产一区三区在线播放| 国产美女91呻吟求| 青草在线视频在线观看| 亚洲黄色av网站| 波多野结衣一区二区三区四区| 亚洲国产精品v| 国产精品igao网网址不卡| 国产精品第十页| 欧美在线视频一区二区三区| 北岛玲精品视频在线观看| 欧美激情一级精品国产| 蜜桃视频在线免费| 制服丝袜av成人在线看| 日韩 欧美 亚洲| 欧美国产丝袜视频| 欧美日韩一区二区区| 羞羞答答国产精品www一本| 欧美日韩国产免费一区二区三区| 亚洲精品三区| 欧美孕妇孕交黑巨大网站| 欧美日韩xx| 日韩高清免费在线| 国产美女免费视频| 色综合中文综合网| 欧美另类视频在线观看| 国产日韩精品视频一区| 亚洲黄色小说在线观看| 蜜臀av一区二区在线免费观看| 国产一区二区片| 日韩大片在线播放| 精品国产二区在线| 成人在线视频国产| 国产精品美女久久久久久免费 | 国产主播精品在线| 牛牛精品一区二区| 欧美成人激情在线| 国产三区四区在线观看| 精品久久人人做人人爰| 一二三四区视频| 色综合一区二区三区| 久久久久久久久久久网| 国产精品三级在线观看| 中文字幕一区二区三区人妻| 国产成人午夜精品5599| 亚洲欧美视频二区| 国产精品外国| 日本中文字幕在线视频观看| 国产精品97| 小说区图片区图片区另类灬| 亚洲成aⅴ人片久久青草影院| 亚洲自拍偷拍色片视频| 日韩一级特黄| 国产精品视频1区| 成人啊v在线| 青青草99啪国产免费| 国产精品高颜值在线观看| 欧美另类老女人| 国产在线69| 日韩在线观看免费| 午夜在线播放| 在线精品播放av| 在线激情免费视频| 这里只有精品丝袜| 99中文字幕一区| 一区二区三区国产视频| 国产在线你懂得| 亚洲日韩中文字幕| 久色视频在线| 亚洲男人的天堂在线播放| 婷婷色在线观看| 亚洲国产精品免费| 久久精品免费一区二区| 亚洲精品电影网| 国产乱码精品一区二三区蜜臂 | 五月婷婷丁香在线| 黑人精品xxx一区| 久久国产精品免费看| 五月激情六月综合| 欧美亚洲精品天堂| 黑人与娇小精品av专区| 国产精品乱子伦| 日韩欧美aaa| 黄色一级视频免费看| 日本韩国精品一区二区在线观看| 国产免费一级视频| 欧美日韩国产影片| 国产口爆吞精一区二区| 欧美一区二区福利视频| 国产黄色一区二区| 精品成人a区在线观看| 亚洲欧洲视频在线观看| 亚洲视频电影图片偷拍一区| 成人在线高清视频| 精品国产美女在线| 黄网av在线| 欧美一乱一性一交一视频| 日韩欧美一区二区三区在线观看| 国产精品成久久久久三级| 在线播放成人| 国产一区二区不卡视频| 精品国产视频| 99亚洲精品视频| 一区二区三区导航| 男人的天堂日韩| 国产一区二区三区在线观看免费视频| 三级黄色片播放| 久久在线观看免费| 欧美成人久久久免费播放| 一区二区成人在线| 欧美日韩综合一区二区三区| 欧美视频在线观看一区二区| www日本在线| 亚洲视频在线免费观看| 在线电影福利片| 青草成人免费视频| 国产精品亚洲欧美日韩一区在线| 精品国产_亚洲人成在线| 91亚洲人成网污www| 欧美精品久久久久久久久久久| 狂野欧美一区| 成人做爰69片免费| 亚洲国产高清aⅴ视频| 豆国产97在线 | 亚洲| 在线视频国产一区| 高清毛片aaaaaaaaa片| 中文字幕无线精品亚洲乱码一区| 欧美xxx黑人xxx水蜜桃| 国产精品视频男人的天堂| 麻豆精品av| 日韩 欧美 自拍| 视频一区二区三区入口| zjzjzjzjzj亚洲女人| 国产精品看片你懂得 | 精品视频在线看| 欧美综合视频在线| 北条麻妃一区二区三区中文字幕 | 国内精品福利| 色综合天天色综合| 91日韩在线专区| 久久99久久98精品免观看软件 | 黄色电影免费在线看| 欧美激情高清视频| 外国成人毛片| 日韩在线第一区| 中文一区二区| 黄色国产在线视频| 一区二区三区四区在线播放 | 婷婷综合六月| 精品国产日本| 亚洲第一伊人| 师生出轨h灌满了1v1| 亚洲色欲色欲www在线观看| 无码久久精品国产亚洲av影片| 亚洲精品v天堂中文字幕| 天使と恶魔の榨精在线播放| 国产视频福利一区| 日韩欧美一区二区三区在线视频 | 日韩视频 中文字幕| 另类人妖一区二区av| 久久精品三级视频| 日本高清不卡视频| 免费a级毛片在线观看| 奇米4444一区二区三区 | 福利一区二区三区视频在线观看| 欧美日韩另类综合| 亚洲欧美日韩专区| 91玉足脚交白嫩脚丫| 婷婷一区二区三区| 五月天久久久久久| 1769国产精品| 亚洲免费福利一区| 欧美精品色婷婷五月综合| 久久影音资源网| 波多野结衣高清在线| 一区二区中文字幕| 久久久久伊人| 制服国产精品| 国产精品香蕉一区二区三区| 青青草国产在线观看| 欧美sm极限捆绑bd| 99爱在线观看| 免费久久久一本精品久久区| 久久一区欧美| 国产大屁股喷水视频在线观看| 欧美人体做爰大胆视频| 91精选在线| 国产综合18久久久久久| 噜噜噜在线观看免费视频日韩 | 高跟丝袜一区二区三区| 国产在线一二三| 成人午夜一级二级三级| 国产精品第十页| 中文字幕5566| 精品视频资源站| 污污视频在线| 精品一卡二卡三卡四卡日本乱码| 久久资源在线| 永久免费未视频| 欧美sm极限捆绑bd| 厕沟全景美女厕沟精品| 亚洲人成网站在线观看播放| 国产麻豆精品久久一二三| 久久精品视频8| 亚洲午夜色婷婷在线| 国产精品一区二区三区av| 成人在线观看你懂的| 国产欧美精品国产国产专区| 99精品视频在线播放免费| 午夜精品一区二区三区在线视频 | 亚洲中文字幕无码一区二区三区| av男人天堂一区| 中文字幕日韩第一页| 欧美日本中文字幕| 九九亚洲精品| 日本成人xxx| 日本韩国欧美在线| 在线中文字幕电影| 欧美日韩无遮挡| 国产成人精品一区二区三区网站观看| 日本特级黄色片| 久久综合伊人77777尤物| 日日天天久久| 天堂在线精品视频| 一本大道久久a久久精品综合| 91精选在线| 亚洲欧洲三级| 97久久超碰国产精品| 99久久久久成人国产免费| 日韩美女写真福利在线观看|