hive sql檔案的執行方法

2021-10-25 16:22:47 字數 2604 閱讀 8485

------------------ --------1 執行不帶引數的hql檔案----------------------------

hive -f 檔名.字尾

例項:hive -f chensq_test1.hql
------------------ -----2 執行帶1個普通引數的hql檔案----------------------------

----- 直接在hive中執行----

select

count(*

)from 使用者名稱.表名 c

where c.列名 =

'01'

;----- hql檔案內容------------

select

count(*

)from 使用者名稱.表名 c

where c.列名 =

'$';

---- 用命令執行檔案

hive -hiveconf param1=

'01'

-f test_param1.hql

----------------------3 執行帶2個引數的hql檔案----------------------------

----- 直接在hive中執行----

select

count(*

)from 使用者名稱.表名 c

where c.列名1

='01'

and 列名2

='61405'

----- hql檔案內容------------

select

count(*

)from 使用者名稱.表名 c

where c.列名1

='$'

and 列名2

='$'

;---- 用命令執行檔案

hive -hiveconf param1=$'01'

-hiveconf param2=$'61405'

-f test_param2.hql

----- 直接在hive中執行----

select

count(*

)from 使用者名稱.表名 c

where c.date1 <= from_unixtime(unix_timestamp(

)},'yyyy-mm-dd hh:dd:ss'

)and c.date1 >= add_months(from_unixtime(unix_timestamp(),

'yyyy-mm-dd hh:dd:ss'),

-2);

----- hql檔案內容------------

select

count(*

)from 使用者名稱.表名 c

where c.date1 <= from_unixtime(unix_timestamp(

)},'yyyy-mm-dd hh:dd:ss'

)and c.date1 >= add_months(from_unixtime(unix_timestamp(),

'yyyy-mm-dd hh:dd:ss'),

-$);

------用命令執行檔案

hive -hiveconf param2=

2-f test_param3.hql

select

count(*

)from 使用者名稱.表名 a

where a.年月_col <= substr(regexp_replace(string(add_months(from_unixtime(unix_timestamp(),

'yyyy-mm-dd'),

-1))

,'-',''

),1,

6)and a.年月_col >= substr(regexp_replace(string(add_months(from_unixtime(unix_timestamp(),

'yyyy-mm-dd'),

-12))

,'-',''

),1,

6);----- hql檔案內容------------

select

count(*

)from 使用者名稱.表名 a

where a.年月_col <= substr(regexp_replace(string(add_months(from_unixtime(unix_timestamp(),

'yyyy-mm-dd'),

-$))

,'-',''

),1,

6)and a.年月_col >= substr(regexp_replace(string(add_months(from_unixtime(unix_timestamp(),

'yyyy-mm-dd'),

-$))

,'-',''

),1,

6);---- 用命令執行檔案

hive -hiveconf param1=$1

-hiveconf param2=

2-f test_param2.hql

Hive SQL執行原理

hive sql的基本模式可以分為三類 group by語句 比如select city,count oder id as iphone7 count from orders table where day 20170101 and cate name iphone7 group by city h...

HIVESQL優化方法

這是我2年前總結的東西,當時是用華為paas平台的大資料集群的時候,因為我們公司分配的資源較少,自己總結的部分優化方法,如有不足,望大家指正 1 set hive.map.aggr true false 當使用聚合函式時會在ma階段進行聚合 效率更高同時消耗更多資源 2 當join表的時候有乙個大表...

hive sql的執行計畫相關知識

大部分寫的hivesql,最後基本上都可以落到兩個角度 1.單錶分析 group by 聚合函式,2.多表關聯查詢,區別只是有的業務邏輯簡單一些,有的複雜一些而已 執行計畫的生成步驟 其中analyzer會和metainfo進行資訊交換,去做一些關聯查詢校驗的工作 表存不存在,欄位存不存在,字段拼寫...