Hive高階查詢

2021-10-09 16:48:26 字數 1612 閱讀 1806

(1)select基礎

(2)cte和巢狀查詢

(3)高階語句

(4)關聯查詢

(5)mapjoin

(1)load移動資料

(2)insert表插入資料

使用insert語句將資料插入表/分割槽

(insert 支援overwrite覆蓋和into追加)

hive支援從同乙個表進行多次插入

insert into中table關鍵字是可選的

insert into可以指定插入到哪些欄位中

(如:insert into t(x,y,z))

insert into table_name values,支援插入值列表

資料插入必須與指定列數相同

insert overwrite table test select 'hello'

;-- insert不支援的寫法

insert into employee select * from ctas_employee;

-- 通過查詢語句插入

-- 多插入

from ctas_employee

insert overwrite table employee select *

insert overwrite table employee_internal select *

;-- 插入到分割槽

from ctas_patitioned

insert overwrite table employee partition (year, month)

select *

,'2018'

,'09'

;-- 通過指定列插入(insert into可以省略table關鍵字)

insert into employee

(name) select 'john' from test limit 1

;-- 通過指定值插入

insert into employee

(name)

value

('judy'),

('john'

);

(3)資料插入檔案

-- 從同一資料來源插入本地檔案,hdfs檔案,表

from ctas_employee

insert overwrite local directory '/tmp/out1' select *

insert overwrite directory '/tmp/out1' select *

insert overwrite table employee_internal select *

;-- 以指定格式插入資料

insert overwrite directory '/tmp/out3'

row format delimited fields terminated by ','

select * from ctas_employee;

-- 其他方式從表獲取檔案

hdfs dfs -getmerge

(4)資料交換 - import/export

(5)資料排序

(5)聚合運算

Hive總結(十二)Hive查詢高階

通過hive提供的order by子句可以讓最終的輸出結果整體有序。但是因為hive是基於hadoop之上的,要生成這種整體有序的結果,就必須強迫hadoop只利用乙個reduce來完成處理。這種方式的 就是回降低效率。如果你不需要最終結果整體有序,你就可以使用sort by子句來進行排序。這種排序...

Hive高階查詢練習02

一 求每一年最大氣溫的那一天 溫度 1 說明 資料格式 2010012325 2014010114 2014010216 2014010317 2014010410 2014010506 2012010609 2012010732 2012010812 2012010919 2012011023 2...

hive 9 hive高階查詢之join

join原理 join的優化 官網位址 hive支援傳統資料庫沒有的 select u.name,o.orderid from order o join user u on o.uid u.uid map join在map階段完成,沒有shuffle和reduce階段。mapjoin簡單來說就是 當...