Hudi 0.5.2 Hudi 寫時(shí)復(fù)制 讀時(shí)合并表區(qū)別聯(lián)系

表類型

  • 寫時(shí)復(fù)制(Copy On Write):
    僅使用列式文件格式(parquet惦积,基本文件)存儲數(shù)據(jù)。通過在寫入過程中執(zhí)行同步合并并鸵,僅更新版本并重寫新文件苇倡。

  • 讀時(shí)合并(Merge On Reader):
    使用列式文件格式(parquet,基本文件)+基于行(例如avro审姓,增量文件)的文件格式的組合來存儲數(shù)據(jù)珍特。更新記錄到增量文件中,然后壓縮以同步或異步生成新的列式文件格式魔吐。

查詢類型

  • 快照查詢(實(shí)時(shí)查詢):查詢給定提交或壓縮操作中表的最新快照扎筒。如果讀時(shí)合并表,它將通過即時(shí)合并最新文件切片的基本文件和增量文件來公開近乎實(shí)時(shí)的數(shù)據(jù)(幾分鐘)酬姆。對于寫時(shí)復(fù)制表嗜桌,它提供了對現(xiàn)有parquet的直接替換,同時(shí)提供了update/delete和其他寫入方面的功能辞色。
  • 增量查詢:通過給定的提交/壓縮骨宠,可看到該提交/壓縮后寫入表的新數(shù)據(jù)。這有效地提供了更改流,提供一種增量查詢的通道去查詢數(shù)據(jù)层亿。
  • 讀優(yōu)化查詢:查詢給定提交/壓縮操作中表的最新快照桦卒。與非Hudi柱狀表相比,僅公開最新文件片中的基本/列文件匿又,并保證相同的柱狀查詢性能方灾。

下表總結(jié)了不同查詢類型之間的權(quán)衡。

權(quán)衡 快照查詢(實(shí)時(shí)查詢) 讀優(yōu)化查詢
數(shù)據(jù)延遲 更低 更高
查詢延遲 更高(合并列式 + 基于行的增量) 更低(原始列式性能)

查詢Hudi數(shù)據(jù)集

具體來說碌更,在寫入過程中指定兩個(gè)表類型的hudi表迎吵。創(chuàng)建hive表時(shí)指定STORED AS INPUTFORMAT參數(shù)創(chuàng)建不同的_ro/_rt表。
如果 table name = hudi_trips 并且 table type = COPY_ON_WRITE, 我們將會看到:

  • hudi_trips 支持設(shè)置HoodieParquetInputFormat的表上進(jìn)行快照查詢和增量查詢针贬,從而提供純列式數(shù)據(jù)(中文文檔:稱實(shí)時(shí)表击费,不建議)。

如果 table name = hudi_trips 并且 table type = MERGE_ON_READ, 我們將會看到:

  • hudi_trips_ro 支持設(shè)置 HoodieParquetInputFormat 的表上進(jìn)行讀優(yōu)化查詢桦他,從而提供了純列式數(shù)據(jù)(中文文檔:稱讀優(yōu)化表蔫巩,不建議)。
  • hudi_trips_rt 支持設(shè)置 HoodieParquetRealtimeInputFormat 的表上進(jìn)行快照查詢(實(shí)時(shí)查詢)和增量查詢(準(zhǔn)實(shí)時(shí)的數(shù)據(jù))快压,從而提供了基礎(chǔ)文件和日志文件的合并查詢(中文文檔:稱實(shí)時(shí)表圆仔,不建議)。

查詢引擎

下面的表格展示了各查詢引擎支持的查詢類型

  • 寫時(shí)復(fù)制表
查詢引擎 快照查詢(實(shí)時(shí)查詢) 增量查詢
Hive Y Y
Spark SQL Y Y
Spark Datasource Y Y
Presto Y N
Impala Y N

注意:寫時(shí)復(fù)制表不支持讀優(yōu)化查詢蔫劣。

  • 讀時(shí)合并表
查詢引擎 快照查詢(實(shí)時(shí)查詢) 增量查詢 讀優(yōu)化查詢
Hive Y Y Y
Spark SQL Y Y Y
Spark Datasource N N Y
Presto N N Y
Impala N N Y

Hive中查詢

為了讓Hive識別Hudi表并正確查詢:

  • HiveServer2需要hudi-hadoop-mr-bundle-x.y.z-SNAPSHOT.jar在其輔助jar路徑中提供坪郭。這將確保inputformat類及其依賴項(xiàng)可用于查詢和執(zhí)行。

  • 對于MERGE_ON_READ表脉幢,還需要將該捆綁軟件放在整個(gè)集群的hadoop / hive安裝中歪沃,以便查詢也可以選擇自定義RecordReader。(嫌松?沪曙??沒理解透徹)

除了上述設(shè)置之外萎羔,對于beeline cli訪問液走,需要將變量hive.input.format設(shè)置為標(biāo)準(zhǔn)路徑名org.apache.hudi.hadoop.HoodieParquetInputFormat。對于Tez贾陷,還需要將hive.tez.input.format設(shè)置為org.apache.hadoop.hive.ql.io.HiveInputFormat缘眶。然后像其他任何Hive表一樣繼續(xù)查詢該表。

增量拉人璺稀(目前好像只能通過jdbc方式完成)
HiveIncrementalPuller允許通過HiveQL從大型事實(shí)/維表中增量提取更改巷懈, 結(jié)合了Hive(可靠地處理復(fù)雜的SQL查詢)和增量原語的好處(通過增量拉取而不是完全掃描來加快查詢速度)。 該工具使用Hive JDBC運(yùn)行hive查詢并將其結(jié)果保存在臨時(shí)表中瓦哎,這個(gè)表可以被插入更新砸喻。 Upsert實(shí)用程序(HoodieDeltaStreamer)具有目錄結(jié)構(gòu)所需的所有狀態(tài)柔逼,以了解目標(biāo)表上的提交時(shí)間應(yīng)為多少。 例如:/app/incremental-hql/intermediate/{source_table_name}temp/{last_commit_included}割岛。 已注冊的Delta Hive表的格式為{tmpdb}.{source_table}{last_commit_included}愉适。

關(guān)于大數(shù)據(jù)方面技術(shù)問題可以咨詢,替你解決你的苦惱癣漆。微信 hainanzhongjian

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末维咸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子惠爽,更是在濱河造成了極大的恐慌癌蓖,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婚肆,死亡現(xiàn)場離奇詭異租副,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)较性,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門用僧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赞咙,你說我怎么就攤上這事责循。” “怎么了攀操?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵院仿,是天一觀的道長。 經(jīng)常有香客問我速和,道長歹垫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任健芭,我火速辦了婚禮县钥,結(jié)果婚禮上秀姐,老公的妹妹穿的比我還像新娘慈迈。我一直安慰自己,他們只是感情好省有,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布痒留。 她就那樣靜靜地躺著,像睡著了一般蠢沿。 火紅的嫁衣襯著肌膚如雪伸头。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天舷蟀,我揣著相機(jī)與錄音恤磷,去河邊找鬼面哼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛扫步,可吹牛的內(nèi)容都是我干的魔策。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼河胎,長吁一口氣:“原來是場噩夢啊……” “哼闯袒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起游岳,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤政敢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后胚迫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喷户,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年访锻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了摩骨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡朗若,死狀恐怖恼五,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情哭懈,我是刑警寧澤灾馒,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站遣总,受9級特大地震影響睬罗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜旭斥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一容达、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧垂券,春花似錦花盐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至凳宙,卻和暖如春熙揍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背氏涩。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工届囚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留有梆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓意系,卻偏偏與公主長得像淳梦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子昔字,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354