Hive练习(二)

2018-09-21  本文已影响0人  hipeer

  1. 直接进入hive命令
hive
  1. 查看所有数据库
show databases;
  1. 查看当前所在数据库
select current_database();
  1. 切换数据库
use test; // test是数据库名
  1. 创建数据库
create databases if not extists test;  // test是数据库名 
create databases if not extists test location '/temp/data';   // location 作用是指定数据库在HDFS中的目录,这里会存放表数据
  1. 删除数据库
drop database test;  // 只能删除空的
drop database test cascade;  // 级联删除
drop database if exists  test cascade; // 级联删除 
  1. 创建简单外表
create external table if not exists user(user_id string);

表所在的目录为: /temp/data/user

  1. 表创建完成后往里面导入数据
load data inpath '/user/data/users.csv' overwrite into table user; // 文件是存在HDFS中的,完成后该文件会被移动到'/temp/data/user'目录下
load data local inpath '/root/user.csv' into table user; // 这是把本地文件导入
  1. 查看所在数据库中的所有表
show tables;

10.删除数据库中的表

drop table user;
  1. 查看一下刚才表中的数据
select * from user limt 10;
  1. 统计一下行数
select count(*) from user;

结果

OK
15399
Time taken: 18.656 seconds, Fetched: 1 row(s)
  1. 做一个单词统计
1. 创建一张表
create external table if not exists wctest(linestr string);
2. 往表中导入数据
load data inpath '/user/guoxing/data/wctext.txt' overwrite into table wctest;
3. 单词统计的语句
select 
    word, count(*) as wcount 
  from wctest 
    lateral view explode(split(linestr, ' ')) t as word 
 group by word 
 order by wcount desc
 limit 10;

结果

OK
    1076
|   113
the 56
to  41
a   37
of  23
for 19
be  19
<!--    19
in  17
Time taken: 17.094 seconds, Fetched: 10 row(s)
注:在命令行执行hql文件
hive> source /root/wc.hql;
Query ID = root_20180921095521_1f4bafba-b914-4926-82f4-50910fdc0d48
Total jobs = 1
Launching Job 1 out of 1
Status: Running (Executing on YARN cluster with App id application_1537496206023_0019)

--------------------------------------------------------------------------------
        VERTICES      STATUS  TOTAL  COMPLETED  RUNNING  PENDING  FAILED  KILLED
--------------------------------------------------------------------------------
Map 1 ..........   SUCCEEDED      1          1        0        0       0       0
Reducer 2 ......   SUCCEEDED      1          1        0        0       0       0
Reducer 3 ......   SUCCEEDED      1          1        0        0       0       0
--------------------------------------------------------------------------------
VERTICES: 03/03  [==========================>>] 100%  ELAPSED TIME: 8.53 s     
--------------------------------------------------------------------------------
OK
    1076
|   113
the 56
to  41
a   37
of  23
for 19
be  19
<!--    19
in  17
Time taken: 9.916 seconds, Fetched: 10 row(s)


其他的一些命令或操作放到这

  1. 不直接进入hive访问数据库
hive -e "show databases";
hive -e "select * from lines limit 10"; 
hive -f  wc.hql; // wc.hql文件中写的是hql语句
  1. 其他的DDL语句
明天写~~~
上一篇 下一篇

猜你喜欢

热点阅读