參照書籍:《大資料技術原理與應用》
準備工作:
1.找到所在路徑,啟動hadoop,啟動hive
$ cd usr/local/hadoop
$ ./sbin/
start
-dfs.sh /
/啟動hadoop
$ hive /
/啟動hive
2.準備兩個txt檔案,為詞頻統計準備資料
$ cd
$ mkdir hivetest /
/建立hivetest資料夾
$ cd hivetest /
/到hivetest資料夾
$ echo
"hello world" > file1.txt
$ echo
"hello hadoop" > file2.txt
進入hive命令列介面,編寫hiveql語句,實現wordcount演算法:
3.建表t_e用if not exists判斷–>我已經建立過t_e表了沒有這句話會報錯
$ hive
hive >create table if not exists t_e(line string);/
/line屬性,型別string
4.匯入兩個檔案的資料到t_e表中,可以在shell視窗用命令pwd檢視當前路徑
hive >load data local inpath '/home/hadoop/hivetest/file1.txt' into table t_e;
hive >load data local inpath '/home/hadoop/hivetest/file2.txt' into table t_e;
5.進行計算詞頻統計,word_count表包含單詞和單詞出現的次數這兩個字段。
hive > create table word_count as /
/統計出來的結果放在word_count表中
> select word,count(1) as count from
//寫入這兩個字段,並重命名名為count列
> (
select explode(split(line,
' ')
)as word from t_e) w /
/掃瞄t_e表後,把行行拿進來以後對它進行單詞的(split)拆分,最終寫入w檔案
> group by word /
/根據word進行分組-->相同的單詞排在一起
> order by word;
//按照字母的公升序排序
6.檢視結果
hive應用例項1
我們沿用之前hadoop wordcount的結果資料 hadoop icity0 hadoop fs cat wc out part r 00000 warning hadoop home is deprecated.beautiful1 day1 dear2 hello2 hometown1 h...
hive例項操作
在usr下,mkdir wang hadoop fs mkdir upload hadoop fs chmod g w upload上傳資料 root master wang hadoop fs put emp.csv upload root master wang hadoop fs put de...
hive經典應用
dual的構造 自己構造即可乙個函式幾個,在隨後的select 測試 from dual 前後兩行求時間差 1.hive row number 函式的高階用法 row num 按照某個字段分割槽顯示第幾條資料 select imei,ts,fuel instant,gps longitude,gps...