美文网首页
Hive练习(二)

Hive练习(二)

作者: hipeer | 来源:发表于2018-09-21 17:19 被阅读0次

  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语句
明天写~~~

相关文章

  • Hive练习(二)

    直接进入hive命令 查看所有数据库 查看当前所在数据库 切换数据库 创建数据库 删除数据库 创建简单外表 表所在...

  • 2018-08-05--08-11

    08-05配置1、sql语句练习。根据月乔的文档&sql优化,根据文档练习2、hive语句1)hive,sql连接...

  • Hive练习

    数据: 建表语句 1、输出的日期格式不一样,需进行格式化 2、计算每个用户的小计 计算累加列,开窗函数根据用户id...

  • hive学习(三):练习题——collect_set及array

    前言: 以sql为基础,利用题目进行hive的语句练习,逐步体会sql与hive的不同之处。 题目用到hive的集...

  • Hive | Hive 安装详解

    一、Hive 介绍 二、准备工作 三、Hive下载 四、Hive 安装 五、Hive 启动 一、Hive 介绍 H...

  • hive学习(二):练习题——求访问次数

    前言: 以sql为基础,利用题目进行hive的语句练习,逐步体会sql与hive的不同之处。本次练习题来源:htt...

  • Hive框架基础(二)

    * Hive框架基础(二) 我们继续讨论hive框架 * Hive的外部表与内部表 内部表:hive默认创建的是内...

  • Hive SQL练习

    查询全体学生的学号与姓名 查询选修了课程的学生姓名 ----hive的group by 和集合函数 查询学生的总人...

  • Hive实践练习

    创建表 查看刚刚创建的表 造测试数据 加载测试数据 由于是内部表上图红色路径中的元数据在drop表的同时也会被清除...

  • Hive练习(一)

    练习所使用的数据是之前创建的users表和train表中的 caculate the event with thw...

网友评论

      本文标题:Hive练习(二)

      本文链接:https://www.haomeiwen.com/subject/ucianftx.html