运行hadoop [root@hadoop0 ~]# start-all.sh
进入命令行[root@hadoop0 ~]# hive
查询昨天的表 hive> select * from stu;
显示数据库 hive> show databases
创建数据库 hive> create database test
使用数据库 hive> use test;
把旧表数据导入新表 INSERT OVERWRITE TABLE test4 SELECT * FROM test1
设置hive参数 hive> SET hive.exec.compress.output=true;
1 内部表
Show databses;
Use hive_data;
1.1 创建内部表
-
CREATE TABLE SOGOUQ2(DT STRING,WEBSESSION STRING,WORD STRING,S_SEQ INT,C_SEQ INT,WEBSITE STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY ' ' ;1.2 加载数据
-
LOAD DATA LOCAL INPATH '/data/software/sougou/SogouQ2.txt' INTO TABLE SOGOUQ2; Load hdfs data: LOAD DATA INPATH 'hdfs://shulaibao2:9010/home/hadoop/upload/test/sougou/SogouQ1.txt ' INTO TABLE SOGOUQ2;
- 1.3 查看hdfs数据
-
hadoop fs -ls /user/hive/warehouse/hive_data.db
- 1.4 操作数据库
-
select count(*) from SOGOUQ2; select count(*) from SOGOUQ2 where WEBSITE like '%baidu%';
2 外部表
- 2.1 创建hdfs数据存储目录
-
hadoop fs -mkdir -p /home/hadoop/upload/hive/sogouq1 hdfs dfs -ls /home/hadoop/upload/hive/sogouq1
- 2.2 创建表
-
CREATE EXTERNAL TABLE SOGOUQ1(DT STRING,WEBSESSION STRING,WORD STRING,S_SEQ INT,C_SEQ INT,WEBSITE STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY ' ' STORED AS TEXTFILE LOCATION '/home/hadoop/upload/hive/sogouq1'; Show tables;
- 2.3 加载数据
-
Hadoop fs -copy /home/hadoop/upload/test/sougou/SogouQ1.txt /home/hadoop/upload/hive/sogouq1 hdfs关联:copy、mv 本地系统数据关联:copyFromLocal
- 2.4 操作数据库
-
select count(*) from SOGOUQ1;
总结:【注】在删除表的时候,内部表将删除表的元数据和数据文件;而删除外部表的时候,仅仅删除外部表的元数据,不删除数据文件