Hive的SQL基本上和我们原先的MYSQL的SQL查询效果差不多,下面是一些实例:
基本查询
- 创建数据库
create databases hivedb;
我们可以看到会在/user/hive/warehouse 下面出现hivedb.db文件
- 使用指定数据库
use hivedb
; - 创建表
create table test(id int,name string);
- 删除表
drop table test;
高级操作
- hive中表的概念与关系型数据库中表的概念非常类似
- hive中每张表都和DFS上/user/hive/warehouse(默认。此目录可以在${HIVE_HOME/conf/hive-sire.xml中设置})中的一个目录相关联。
- 创建表 :
CREATE TABLE IF NOT EXISTS t_customer(id int,name string,age int,address string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' STORED AS TEXTFILE;
- 导入本地数据:
我们将本地的txt文件中的数据导入表中
LOAD DATA LOCAL INPATH '/opt/datas/customer.txt' OVERWRITE INTO TABLE T_CUSTOMER;
- 导入Hadoop数据
我们先将customer.txt上传到hdfs上
hdfs dfs -mkdir /user/datas hdfs dfs -put /opt/datas/customer.txt /user/datas
然后将HDFS数据导入hive
LOAD DATA INPATH '/user/datas/customer.txt' INTO TABLE T_CUSTOMER;
我们可以看到源文件已经删除
但是在warehouse会保留备份