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

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

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

數(shù)據(jù)準備:創(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

網(wǎng)友評論