作為數(shù)據(jù)產(chǎn)品,一項(xiàng)基礎(chǔ)工作即是為需求方取數(shù)據(jù),一般來(lái)說(shuō)簡(jiǎn)單的取數(shù)數(shù)據(jù)產(chǎn)品是要兼顧的,復(fù)雜的取數(shù)才會(huì)升級(jí)到研發(fā)來(lái)取,畢竟研發(fā)們都很忙嘛,小事我們自己也可以搞定的。 一、SQL思路3分鐘入門SQL可以實(shí)現(xiàn)的功能很多,建表、刪表、插入數(shù)據(jù)、查詢數(shù)據(jù)…這里主要介紹查詢數(shù)據(jù)的SQL一般寫法,SQL語(yǔ)言的主要邏輯也是在查詢語(yǔ)句這一塊。 傳統(tǒng)MySQL類數(shù)據(jù)庫(kù)或大數(shù)據(jù)中,用到的Hive數(shù)據(jù)庫(kù)是按行索引的,可以理解為一條一條的記錄,而且大數(shù)據(jù)用到的HSQL其實(shí)跟傳統(tǒng)SQL語(yǔ)句基本是一致的。 我們常見(jiàn)的對(duì)數(shù)據(jù)的處理主要是這么幾種:根據(jù)條件篩選數(shù)據(jù),將記錄字段橫向合并,將記錄縱向合并,而這對(duì)應(yīng)的就是SQL語(yǔ)句中的查詢/子查詢、各種JOIN、UNION ALL。那種看似很長(zhǎng)很復(fù)雜的SQL代碼,其實(shí)也就是這三種操作的結(jié)合體。 如下圖所示:可以理解為數(shù)據(jù)庫(kù)查詢就是將多份數(shù)據(jù)查出來(lái),互相關(guān)聯(lián)合并,生成一張新的表單,然后可以在新的表單的基礎(chǔ)上進(jìn)行查詢或者再跟其他數(shù)據(jù)關(guān)聯(lián)合并。
這里我都沒(méi)有使用具體的SQL舉例,因?yàn)檎归_(kāi)來(lái)將可能會(huì)有很大的篇幅。想要進(jìn)一步深入的同學(xué),可以去查看相關(guān)的SQL教程,按照上面介紹的思路去學(xué)習(xí),就不會(huì)感到迷茫了。 2. HSQL vs SQL數(shù)據(jù)工作中,既要用SQL語(yǔ)句去業(yè)務(wù)庫(kù)里查詢對(duì)比數(shù)據(jù),又要會(huì)使用HSQL在自己的平臺(tái)(一般是Hue中的Hive)中查詢。兩種語(yǔ)言除了個(gè)別函數(shù)不通用,基本是一致的。 這里舉一些例子說(shuō)明:
|
|