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...