二、hive shell常用命令


在使用hive shell之前我們需要先安裝hive,並啟動hdfs

請參考:https://www.cnblogs.com/lay2017/p/9973298.html

hive shell

我們先進入安裝目錄

cd /usr/local/hadoop/hive/apache-hive-1.2.2-bin

使用Hive命令啟動hive shell

hive

查看一下數據庫,發現有一個默認的default

我們需要創建一個新的test數據庫

再看一下數據庫,test數據庫已經創建完成了

我們切換到test數據庫

創建一張t_user表,你會看到創建表的語句顯得似乎很麻煩,這么長一句

CREATE TABLE users(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\n' STORED AS TEXTFILE;

我們分開來看,建表的簡單語句,如

create t_user(id int, name String);

而每一列分隔符就是

ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '

每行的分隔符就是

LINES TERMINATED BY '\n'

最后存儲的文件格式就是txt

STORED AS TEXTFILE;

為了更清楚建表語句為什么這么建,我們在/tmp目錄下建立一個user.txt,內容如下(注意:每個單詞之間是空格分隔,每行是\n分隔,這也是為什么我們在建立hive的表的時候需要配置它的格式,因為我們在讀取txt數據的時候需要按照格式進行讀取,否則你將查詢到一堆的null)

1 lay
2 marry
3 gary

然后我們在hive shell中,把該txt數據給加載到hive中

load data local inpath '/tmp/user.txt' overwrite into table t_user; // 加載本地數據到t_user表中

然后我們查詢一下t_user表中的數據,如下

數據就像關系型數據庫一樣展示,這就是hive的SQL簡單查詢功能

常用命令

create database test; // 創建數據庫
drop database test; // 刪除數據庫
drop database test cascade; // 強制刪除數據庫
show databases; // 列出所有數據庫
use test; // 使用數據庫

create t_user(id int, name String); // 創建表
CREATE TABLE users(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\n' STORED AS TEXTFILE; // 按照格式創建表,否則load data無法正常讀取數據
describe t_user; // 查詢表結構
drop table t_user; // 刪除表
alter table t_user add columns(age int); // 更改表,新增列
load data local inpath '/tmp/user.txt' overwrite into table t_user; // 加載本地數據到t_user表中
load data inpath '/tmp/user.txt' overwrite into table t_user; // 從hdfs加載數據到t_user表中

參考文檔:https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-InstallationandConfiguration

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM