Hive指令碼執行方式

2021-10-03 22:40:07 字數 1874 閱讀 5943

1.hive -e

//將hive查詢的結果直接輸出到./taopaiche.txt 本地目錄非hdfs目錄

hive -e "select x.car_number,x.area_name,x.etcname,x.idcard,x.color,y.area_name area_name1,y.color color1,y.idcard idcard1 from bigdatacar.etc_data x left join bigdatacar.car_document y on x.car_number=y.car_number where 1=1 and x.color!=y.color"

> ./taopaiche.tx

將./taopaiche.txt上傳到hdfs中

//刪除hdfs檔案

$hadoop dfs -rm /version/*

//刪除hdfs資料夾

$hadoop dfs -rm -r /version

//上傳檔案到hdfs

$hadoop dfs -put ./version/taopaiche.txt /version/taopaiche.txt

//匯出hdfs檔案

$hdfs dfs -get /version/taopaiche.txt /version

2.hive -f

$hive -f test.sql 

//某個檔案(裡面是sql語句) > 2.log 發現執行後會把結果寫入2.log中,包括count(*)的結果

3.insert overwrite local directory儲存結果到本地

這條hql的執行需要啟用mapreduce完成,執行完這條語句之後,將會在本地檔案系統的/tmp/out/目錄下生成檔案,我們也可以在匯出時指定字段分割符:

hive>

insert overwrite local directory "/tmp/out/"

>

select

user

, login_time from user_login;

hive>

insert overwrite local directory "/tmp/out/"

>

row format delimited fields

terminated

by"\t"

>

select

user

, login_time from user_login;

//注意:和匯入資料到hive不一樣,不能用insert into來將資料匯出。

4.儲存結果到hdfs中

hive>

insert overwrite table query_result

>

select

user

, login_time from user_login

// hive也提供了追加方式insert table,可以在原有資料後面加上新的查詢結果。

hive>

insert

into

table query_result

>

select

*from query_result;

hive>

create

table query_result

>

as>

select

user

, login_time from user_login;

hive指令碼執行方式

hive指令碼的執行方式 hive指令碼的執行方式大致有三種 usage hive commands.e.g.d a b or define a b database specify the database to use e sql from command line f sql from fil...

Hive 指令碼執行

繼上篇ddl中load的資料繼續進行指令碼操作。hive執行指令碼 hive e sql語句 會將查詢的結果列印在控制台上。hive e sql語句 會將查詢的結果重定向到 檔案中,會顯示ok和抓取的資料條數 hive s e sql語句 會將查詢的結果重定向到 檔案中,不會顯示ok和抓取的資料條數...

hive指令碼的三種執行方式

1.hive控制台執行,安裝了hive之後直接命令列輸入hive,進入控制台。2.hive e sql語句 直接輸入就會有結果,sql語句根據具體情況自己書寫 a.sql的內容如下 set mapred.job.queue.name default set hive.exec.reducers.ma...