中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hive命令有哪些調用方式

發布時間:2021-11-08 14:20:32 來源:億速云 閱讀:171 作者:小新 欄目:云計算

這篇文章主要為大家展示了“hive命令有哪些調用方式”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“hive命令有哪些調用方式”這篇文章吧。



hive命令的3種調用方式 

方式1:hive –f  /root/shell/hive-script.sql(適合多語句)

hive-script.sql類似于script一樣,直接寫查詢命令就行

例如:

[root@cloud4 shell]# vi hive_script3.sql

select * from t1;

select count(*) from t1;

不進入交互模式,執行一個hive script 

這里可以和靜音模式-S聯合使用,通過第三方程序調用,第三方程序通過hive的標準輸出獲取結果集。

 $HIVE_HOME/bin/hive -S -f /home/my/hive-script.sql (不會顯示mapreduct的操作過程)

方式2:hive -e  'sql語句'(適合短語句)
直接執行sql語句 
例如:
[root@cloud4 shell]# hive -e 'select * from t1'
靜音模式:
[root@cloud4 shell]# hive -S -e 'select * from t1'  (用法與第一種方式的靜音模式一樣,不會顯示mapreduce的操作過程)
此處還有一亮點,用于導出數據到linux本地目錄下
例如:
[root@cloud4 shell]# hive -e 'select * from t1'  > test.txt
有點類似pig導出分析結果一樣,都挺方便的
方式3:hive (直接使用hive交互式模式)
都挺方便的
介紹一種有意思的用法:
1.sql的語法

#hive     啟動

hive>quit;     退出hive

hive> show databases;   查看數據庫

hive> create database test;  創建數據庫

hive> use default;    使用哪個數據庫

hive>create table t1 (key string); 創建表
對于創建表我們可以選擇讀取文件字段按照什么字符進行分割
例如:
hive>create table t1(id ) '/wlan' 
partitioned by (log_date string)  表示通過log_date進行分區
row format delimited fields terminated by '\t'   表示代表用‘\t’進行分割來讀取字段
stored as textfile/sequencefile/rcfile/;  表示文件的存儲的格式

存儲格式的參考地址:http://blog.csdn.net/yfkiss/article/details/7787742
textfile 默認格式,數據不做壓縮,磁盤開銷大,數據解析開銷大。
可結合Gzip、Bzip2使用(系統自動檢查,執行查詢時自動解壓),但使用這種方式,hive不會對數據進行切分,從而無法對數據進行并行操作。
實例:

[plain] view plaincopy

  1. > create table test1(str STRING)  

  2. > STORED AS TEXTFILE;   

  3. OK  

  4. Time taken: 0.786 seconds  

  5. #寫腳本生成一個隨機字符串文件,導入文件:  

  6. > LOAD DATA LOCAL INPATH '/home/work/data/test.txt' INTO TABLE test1;  

  7. Copying data from file:/home/work/data/test.txt  

  8. Copying file: file:/home/work/data/test.txt  

  9. Loading data to table default.test1  

  10. OK  

  11. Time taken: 0.243 seconds  

SequenceFile是Hadoop API提供的一種二進制文件支持,其具有使用方便、可分割、可壓縮的特點。
SequenceFile支持三種壓縮選擇:NONE, RECORD, BLOCK。 Record壓縮率低,一般建議使用BLOCK壓縮。
示例:

[plain] view plaincopy

  1. > create table test2(str STRING)  

  2. > STORED AS SEQUENCEFILE;  

  3. OK  

  4. Time taken: 5.526 seconds  

  5. hive> SET hive.exec.compress.output=true;  

  6. hive> SET io.seqfile.compression.type=BLOCK;  

  7. hive> INSERT OVERWRITE TABLE test2 SELECT * FROM test1;   

rcfile是一種行列存儲相結合的存儲方式。首先,其將數據按行分塊,保證同一個record在一個塊上,避免讀一個記錄需要讀取多個block。其次,塊數據列式存儲,有利于數據壓縮和快速的列存取。RCFILE文件示例:

hive命令有哪些調用方式

實例:

[plain] view plaincopy

  1. > create table test3(str STRING)  

  2. > STORED AS RCFILE;  

  3. OK  

  4. Time taken: 0.184 seconds  

  5. >  INSERT OVERWRITE TABLE test3 SELECT * FROM test1;  

 

總結:
相比textfile和SequenceFile,rcfile由于列式存儲方式,數據加載時性能消耗較大,但是具有較好的壓縮比和查詢響應。數據倉庫的特點是一次寫入、多次讀取,因此,整體來看,rcfile相比其余兩種格式具有較明顯的優勢。
 

hive>show tables;  查看該數據庫中的所有表

hive>show tables  ‘*t*’;    //支持模糊查詢

hive>show partitions t1;  //查看表有哪些分區 

hive>drop table t1 ; 刪除表

hive不支持修改表中數據,但是可以修改表結構,而不影響數據

有local的速度明顯比沒有local慢:

hive>load data inpath '/root/inner_table.dat' into table t1;   移動hdfs中數據到t1表中

hive>load  data local inpath '/root/inner_table.dat' into table t1;  上傳本地數據到hdfs中

hive> !ls;  查詢當前linux文件夾下的文件
hive> dfs -ls /; 查詢當前hdfs文件系統下  '/'目錄下的文件

以上是“hive命令有哪些調用方式”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开封县| 襄汾县| 城固县| 昆明市| 德保县| 赣州市| 龙井市| 四子王旗| 汉沽区| 简阳市| 淮安市| 三原县| 云和县| 治县。| 阜康市| 静宁县| 西乌珠穆沁旗| 辛集市| 彰化县| 忻州市| 嫩江县| 镇赉县| 上犹县| 同江市| 肃南| 南阳市| 五家渠市| 宜兰市| 台北县| 灵台县| 南乐县| 新巴尔虎左旗| 阿拉善右旗| 文成县| 左贡县| 青州市| 保德县| 南靖县| 普洱| 垦利县| 灵川县|