HIVE異常處理(一)用外連線替代子查詢

2021-08-26 08:24:06 字數 786 閱讀 9818

由於hive也支援sql,很多人會把hql跟標準sql進行比較,甚至有的時候會直接套用。hive不支援事務也不支援索引,更不支援追加寫,但是對於一般的sql都是能夠支援的。但是對於一些子查詢確實無法支援的,例如

select * from t_ext_1_bkdoubledelete where f1=(select max(f1) from t_ext_1_bkdoubledelete)

這個sql在mysql中是能夠支援的,意思是找到val最大的那一行記錄,然後在hive中執行確實報錯的;替代的是用左外連線:

select * from (select max(f1) as maxf1 from t_ext_1_bkdoubledelete) t1  left outer join (select * from t_ext_1_bkdoubledelete) t2 on t1.maxf1=t2.f1

在上面的外連線中,先生成乙個臨時表t1獲取其中最大的值max(f1),然後以max(f1)為左值,通過對自己的連線獲取到相關的行;從而獲取到最大行;

select t1.time1,t1.fromurl,t2.tourl from

(select time time1,url fromurl,userid from urllog) t1

left outer join

urllog t2

on t1.userid=t2.userid

where t1.time1更加蛋疼的例子,可以看這個:

docker學習小實戰(一)用gcc處理c

方法一 將c c 執行在容器內的最簡方法,就是將編譯指令寫入dockerfile 中,然後使用此dockerfile構建自定義映象,最後直接執行此映象,即可啟動 程式建立以下dockerfile配置檔案 from gcc 4.9同目錄下建main.c檔案,任意編寫乙個c includeint mai...

CSS每天一用

090209 1.設定高度應該這樣設定.height 36px line height 36px 2.3.div布局的乙個技巧,比如圓解矩形,用兩張,在這裡設定高度,如果是需要偏移的,高度不可以大於要顯示的高度.由於預設情況,div的寬度都是100 實際上這兩個div是重疊的,看上去就像左邊一張,右...

unittest框架(一)用例管理

在unittest框架的自動化介面測試中,可以用yaml檔案來管理用例,這樣一方面,不會像excel管理用例那麼死板 另一方面,資料讀取出來就是乙個字典,便於取值,用起來更靈活。首先,需要安裝乙個模組,pip install pyyaml即可,然後在python檔案中匯入import yaml 例如...