做地方門(mén)戶網(wǎng)站百度seo最新算法
前言
????????今天開(kāi)始學(xué)習(xí) Hive,因?yàn)楫吘沟沧鰝€(gè)項(xiàng)目基本就避不開(kāi)用 Hive ,爭(zhēng)取這學(xué)期結(jié)束前做個(gè)小點(diǎn)的項(xiàng)目。
? ? ? ? 第一篇博客內(nèi)容還是比較少的,環(huán)境的搭建配置太瑣碎沒(méi)有寫(xiě)。
Hive 常用使用技巧
交互式使用
就是我們正常的進(jìn)入 hive 命令行下的使用模式。
非交互式使用
所謂非交互式,也就是不需要進(jìn)入 hive 命令行,直接在我們 linux Shell 命令行中執(zhí)行。
hive -e
# 一段帶字符串的 SQL
-e <quoted-query-string> SQL from command line
案例:?
[lyh@hadoop102 hive-3.1.2]$ hive -e "insert into stu values(2,'lyh')"
hive -f
# 執(zhí)行文件中的所有 SQL
-f <filename> SQL from filename
案例:
將要執(zhí)行的sql寫(xiě)入一個(gè)文件:
vim stu.sql
#寫(xiě)如以下sql 用分號(hào)隔開(kāi)
insert into stu values(3,"ls");
select * from stu;
執(zhí)行:
[lyh@hadoop102 ~]$ hive -f stu.sql
Hive 參數(shù)配置方式
(1)查看當(dāng)前所有的配置信息
hive> set;
(2)查看某個(gè)參數(shù)的配置信息
# 查看reduce開(kāi)啟的數(shù)量
hive(default)>set mapreduce.job.reduces;
(3)設(shè)置參數(shù)
1. hive-site.xml
這種設(shè)置參數(shù)的方式全局永久生效。
2. 命令行參數(shù)
啟動(dòng) Hive 時(shí),可以在命令行添加 -hiveconf param=value 的方式來(lái)設(shè)置參數(shù)。
這種設(shè)置參數(shù)的方式全局僅對(duì)本次 Hive 啟動(dòng)生效。
# 設(shè)置一個(gè)作業(yè)中reduce開(kāi)啟的數(shù)量
[lyh@hadoop102 hive-3.1.2]$ hive -hiveconf mapreduce.job.reduces=10;
3.參數(shù)聲明方式
可以在 HQL 中使用 SET 關(guān)鍵字來(lái)設(shè)定參數(shù):
hive(default)> set mapreduce.job.reduces=10;
同樣,僅對(duì)本次Hive 啟動(dòng)生效。
查看參數(shù)設(shè)置:
hive(default)> set mapreduce.job.reduces;
總結(jié)
????????上面三種參數(shù)設(shè)置方式的優(yōu)先級(jí)為 hive-site.xml < 命令行參數(shù) < 參數(shù)聲明 。除了某些系統(tǒng)級(jí)的參數(shù),比如 log4j 相關(guān)的設(shè)置,必須使用前兩種設(shè)置方式,因?yàn)槟切﹨?shù)的讀取已經(jīng)在會(huì)話建立前已經(jīng)完成了。