SQL里面通常都會用Join來連接兩個表,做復(fù)雜的關(guān)聯(lián)查詢。比如用戶表和訂單表,能通過join得到某個用戶購買的產(chǎn)品;或者某個產(chǎn)品被購買的人群....

Hive也支持這樣的操作,而且由于Hive底層運行在hadoop上,因此有很多地方可以進(jìn)行優(yōu)化。比如小表到大表的連接操作、小表進(jìn)行緩存、大表進(jìn)行避免緩存等等...

下面就來看看hive里面的連接操作吧!其實跟SQL還是差不多的...

數(shù)據(jù)準(zhǔn)備:創(chuàng)建數(shù)據(jù)-->創(chuàng)建表-->導(dǎo)入數(shù)據(jù)

首先創(chuàng)建兩個原始數(shù)據(jù)的文件,這兩個文件分別有三列,第一列是id、第二列是名稱、第三列是另外一個表的id。通過第二列可以明顯的看到兩個表做連接查詢的結(jié)果:

[xingoo@localhost tmp]$ cat aa.txt 
1 a 32 b 43 c 1[xingoo@localhost tmp]$ cat bb.txt 
1 xxx 22 yyy 33 zzz 5

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式