如何以最快的速度了解并使用HIVE数据库

来源:互联网 发布:格林德沃 知乎 编辑:程序博客网 时间:2024/05/22 13:37

如何以最快的速度了解并使用HIVE数据库,下面将给出一个笔记(里面的一些术语如是不清楚,先去了解下hadoop语法后再来看这个会比较好)

1.用hive命令开始服务,当然之前一定要开启hadoop服务
然后关闭安全模式
2.创建表
create table hivetable
(id int,
user string,
age int,
tel string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘|’
STORED AS TEXTFILE;

3.向表中加载数据
在本地任意位置新建一个文件,如/home/neil/Downloads/hivetxt/test.txt,在里面输入数据如下
1|user1|25|13188888888888
2|user2|30|13888888888888
3|user3|3|147896221
4|user4|56|899314121
5|user5|12|899314121
6|user6|9|899314121
7|user7|32|899314121
8|user8|42|158964
9|user9|86|899314121
10|user10|45|789541

当然用echo “” > /home/neil/Downloads/hivetxt/test.txt 也行

准备后用HIVE加载语法
load data local inpath ‘/home/neil/Downloads/hivetxt’ into table hivetable;
如果是HDFS上的文件,只用将local这个单词去掉就可以了,这样他会移动文件位置(不重复放数据)

4.可以查看HIVE表内的数据
dfs -ls /user/hive/warehourse/hivetable
这个位置是默认的,就是将表名放在最后就好,如果想换位置,可以在加载数据时指

如果用select * from hivetable发现是NULL,说明创建表的时候没有指定分隔符号,比如下面是指定|为分隔符

5.可以进入到hdfs目录下查看该表对应的文件
hive> dfs -ls /user/hive/warehouse/hivetable;
Found 1 items
-rwxr-xr-x 3 neil supergroup 34 2016-02-13 20:18 /user/hive/warehouse/hivetable/test

HDFS文件导入到Hive表

1.查看hdfs系统上的文件
$hadoop fs -cat /user/neil/myfile/test.txt
输出部分如下
0|用户0|2016-11-19 14:10:17|2016-12-29 14:10:17
1|用户1|2016-11-19 14:10:17|2016-12-29 14:10:17
2|用户2|2016-11-19 14:10:17|2016-12-29 14:10:17
3|用户3|2016-11-19 14:10:17|2016-12-29 14:10:17
4|用户4|2016-11-19 14:10:17|2016-12-29 14:10:17
5|用户5|2016-11-19 14:10:17|2016-12-29 14:10:17
6|用户6|2016-11-19 14:10:17|2016-12-29 14:10:17
7|用户7|2016-11-19 14:10:17|2016-12-29 14:10:17
8|用户8|2016-11-19 14:10:17|2016-12-29 14:10:17

2.创建表
create table userinfo
(id int,
user_user string,
createtime timestamp ,
modifytime timestamp)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘|’
STORED AS TEXTFILE;

3.导入表
load data inpath ‘/user/neil/myfile/tb_class.txt’ into table userinfo;

阅读全文
0 0