成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Apache CarbonData的Update/Delete功能設(shè)計(jì)實(shí)現(xiàn)

大數(shù)據(jù)
CarbonData是由華為開發(fā)、開源并支持Apache Hadoop的列式存儲文件格式,支持索引、壓縮以及解編碼等,其目的是為了實(shí)現(xiàn)同一份數(shù)據(jù)達(dá)到多種需求,而且能夠?qū)崿F(xiàn)更快的交互查詢。目前該項(xiàng)目正處于Apache孵化過程中。

本文將介紹Apache CarbonData 0.3.0的Update/Delete功能設(shè)計(jì)實(shí)現(xiàn)。

CarbonData是由華為開發(fā)、開源并支持Apache Hadoop的列式存儲文件格式,支持索引、壓縮以及解編碼等,其目的是為了實(shí)現(xiàn)同一份數(shù)據(jù)達(dá)到多種需求,而且能夠?qū)崿F(xiàn)更快的交互查詢。目前該項(xiàng)目正處于Apache孵化過程中。

當(dāng)前,CarbonData暫不支持修改表中已經(jīng)存在的數(shù)據(jù)。但是在現(xiàn)實(shí)情況下,我們可能很希望這個功能,比如修改維度表,事實(shí)表的數(shù)據(jù)校正以及數(shù)據(jù)清洗等。很多使用CarbonData的用戶很希望其能夠提供數(shù)據(jù)的修改和刪除功能。為此,社區(qū)已經(jīng)有人提了Issue(CARBONDATA-440),其目標(biāo)就是為CarbonData提供Update/Delete功能,這個功能應(yīng)該會在CarbonData 0.3.0版本發(fā)布。本文將介紹CarbonData的Update/Delete功能設(shè)計(jì)實(shí)現(xiàn)。下面是實(shí)現(xiàn)這個功能的高層次設(shè)計(jì)目標(biāo):

(1)、提供標(biāo)準(zhǔn)的SQL接口,以便能夠執(zhí)行更新和刪除操作;

(2)、對CarbonData表執(zhí)行更新和刪除操作的時候,不需要對已經(jīng)存在的整個CarbonData塊重寫,而是將修改寫到差異文件中(differential files);

(3)、在更新和刪除操作之后,CarbonData readers應(yīng)該能夠跳過刪除的記錄,并且能夠無縫地讀取更新的記錄,而這些操作不需要用戶更新自己的應(yīng)用程序。

下面我將詳細(xì)地介紹 CarbonData 的修改和刪除實(shí)現(xiàn)設(shè)計(jì)。

更新操作實(shí)現(xiàn)

我們都知道,CarbonData的數(shù)據(jù)是存儲在HDFS之上,而HDFS中的文件是不可修改的(immutable),所以CarbonData的數(shù)據(jù)塊并不能原地進(jìn)行修改。更新數(shù)據(jù)的一種方法就是刪除和重寫整個數(shù)據(jù)塊。然而這種方法的效率很低,會導(dǎo)致性能瓶頸。其實(shí)我們可以把更新操作認(rèn)為是先"刪除",然后"插入",這也就是CarbonData中更新的實(shí)現(xiàn)。下面我將詳細(xì)地介紹CarbonData的更新操作實(shí)現(xiàn):CarbonData的更新操作分為以下兩步:

1、***步包括兩個部分:

(1)、首先,CarbonData能夠通過執(zhí)行過濾和Join操作識別出需要更新的行。為了能夠***標(biāo)識行數(shù)據(jù),CarbonData會使用到ROWID屬性。一旦需要更新的數(shù)據(jù)被標(biāo)識后,這些數(shù)據(jù)將會在單獨(dú)的文件中被標(biāo)識為deleted,而且這些文件是存放在當(dāng)前表的目錄下,這些文件被稱為"Delete Delt"。

(2)、然后,CarbonData將會從源表中收集需要更新的列值并組成新的一行。新的行數(shù)據(jù)是由更新后的列值和目標(biāo)表現(xiàn)有的列值數(shù)據(jù)組成的。這些更新的行數(shù)據(jù)將會在Spark處理層組成一個源RDD。

2、第二步:CarbonData將會使用現(xiàn)有的數(shù)據(jù)加載方法將源RDD中的行數(shù)據(jù)轉(zhuǎn)換成CarbobData數(shù)據(jù)格式。這個操作類似于數(shù)據(jù)的增量加載。這個新創(chuàng)建的CarbonData文件稱為"Update Delta"。Update Delta文件將存儲在同一個segment中,而且Update Delta本身擁有btree和塊級別的統(tǒng)計(jì),正如正常的CabonData文件。這個新的btree應(yīng)該追加到全局的btree中,并且緩存起來。

下面就是CabonData更新操作的時序圖:

刪除操作的實(shí)現(xiàn)

在刪除數(shù)據(jù)的情況,CarbonData也是通過過濾和Join操作來識別需要刪除的行。為了能夠***標(biāo)識行數(shù)據(jù),CarbonData會使用到ROWID屬性。一旦需要刪除的數(shù)據(jù)被標(biāo)識后,這些數(shù)據(jù)將會在單獨(dú)的文件中被標(biāo)識為deleted,這個文件也稱為"Delete Delta"文件。CarbonData記錄掃描程序?qū)堰@些刪除的文件排除到結(jié)果集之外。在刪除操作之后,CarbonData不需要更新全局字典表,因?yàn)樽值浔碇杏行〆ntries對其他的segment還是有效的。

刪除操作的原子性

CarbonData的刪除操作具有原子性,也就是說,刪除的數(shù)據(jù)要么全部被刪除,要么全部都沒刪除。刪除操作產(chǎn)生的Delete delta文件在刪除操作仍然進(jìn)行時,對readers事不可見的;只有刪除操作成功進(jìn)行,新刪除的行數(shù)據(jù)才會對readers可見。刪除的操作如下圖所示:

下面就是CabonData刪除操作的時序圖:

文件合并

對每次更新操作,都會產(chǎn)生update delta 和 delete delta文件,隨著頻繁地更新和刪除操作,會產(chǎn)生越來越多的delta文件。這將會產(chǎn)生許多小文件,這可能會影響scan操作的性能,所以我們需要將這些delta文件合并成單獨(dú)的delta文件。將許多個delta文件合并成一個delta文件的操作稱為compaction或 minor compaction. 操作如下:

而且compaction操作可以通過配置達(dá)到多少個delta files來觸發(fā)。在刪除或者更新操作之后,如果delta文件的數(shù)量達(dá)到了配置的閾值,compaction操作將會觸發(fā)。

責(zé)任編輯:武曉燕 來源: 網(wǎng)絡(luò)大數(shù)據(jù)
相關(guān)推薦

2022-01-17 21:48:35

流量錄制設(shè)計(jì)點(diǎn)

2025-05-20 02:00:15

2022-02-07 08:27:00

數(shù)據(jù)庫組件功能

2017-10-12 12:13:09

設(shè)計(jì)師搜索功能搜索框

2023-06-28 09:53:41

智能駕駛

2020-11-11 08:04:34

低代碼

2021-12-26 08:24:14

網(wǎng)關(guān)拓?fù)?/a>結(jié)構(gòu)

2009-07-18 21:45:02

UTMURLWeb過濾功能

2021-07-21 08:20:24

微信搜索功能設(shè)計(jì)

2016-12-20 16:40:13

CarbonData數(shù)據(jù)存儲大數(shù)據(jù)

2017-01-05 09:48:51

大數(shù)據(jù)數(shù)據(jù)格式生態(tài)

2009-02-19 16:55:23

恢復(fù)Windows U恢復(fù)系統(tǒng)更新

2017-04-24 13:51:50

華為

2020-10-30 09:27:25

開源技術(shù) 數(shù)據(jù)

2014-11-26 22:46:33

91助手

2017-12-05 11:57:26

華為云

2014-03-10 17:44:43

Windows 8.1

2012-11-23 14:26:40

IBMdW

2012-10-19 09:57:43

Apache負(fù)載均衡集群功能

2011-08-11 13:19:17

MySQLupdatedelete
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 亚洲小说图片 | www.狠狠操| 狠狠操天天干 | 日韩免费毛片视频 | av在线播放一区二区 | 在线日韩av电影 | 亚洲天天干 | 久久久久无码国产精品一区 | 欧美国产日韩一区二区三区 | 久草免费视 | 日韩一区二区三区视频 | 欧美视频一区 | 亚洲国产一区二区三区 | 国产香蕉视频 | 亚洲国产乱码 | 毛片在线看片 | 欧美 中文字幕 | 亚洲欧美一区二区三区视频 | 日本中文在线 | 99视频在线免费观看 | 亚洲三区视频 | 成人黄色av网站 | 91在线精品一区二区 | 91麻豆精品一区二区三区 | 国产欧美精品区一区二区三区 | 国产精品一区二 | 天天干成人网 | www.9191.com | 波多野吉衣久久 | 日韩国产精品一区二区三区 | 成人三级av| 欧美激情一区二区三区 | 久久九九99 | 国产高清视频在线观看 | 国产精品三级 | 精品久久香蕉国产线看观看亚洲 | 成人国产精品视频 | 日韩在线精品 | 亚洲视频一区在线观看 | 完全免费在线视频 | 国产乱码精品一区二区三区五月婷 |