一、数据定义DDL操作

创建表:

--create table为创建一个指定名字的表
create(external) table table_name
--external关键字可以让用户创建一个外部表

创建表的demo

create table page_view
(
viewTime INT,
userid BIGINT,
page_url STRING,
referrer_url STRING,
ip STRING COMMENT 'IP ADDRESS of the User'
)
COMMENT 'This is the page view table'--注释表的用途
PARTITIONED BY(dt STRING,country STRING)--建立表分区
STORED AS SEQUENCEFILE;

2、删除表

--用于删除表的元数据和数据
drop table table_name

3、修改表,分区

--改变一个已经存在的表结构,比如增加列或者分区。
alter table table_name

4、创建、删除视图

--视图是只读的,不能用于插入,修改等。
create view view_name as select ...
create view onion_referrences
as
select distinct referrer_url
from page_view
where page_url='http://www.theonion.com';
--删除指定视图的元数据。
drop view view_name

5、创建、删除函数

create temporary function function_name as class_name

drop temporary function function_name

6、展示描述语句

--显示表
show tables page_view
--显示分区
show partitions table_name
--显示函数
show functions "a.*"--".*"用来显示所有函数

二、数据操作DML

主要有数据表加载文件,查询结果

1、向数据表中加载文件

当数据被夹在到表中,Hive并不会对数据进行任何转换,Load操作只是将数据复制,移动到Hive表对应的位置上

load data inpath 'filepath'--filepath可以是相对路径,也可以是绝对路径,也可以是完整的URI
into table table_name--加载的目标可以是表table,分区partition。

2、插入操作

将查询结果通过insert插入表中

insert overwrite table table_name
select _statement1 from from_statement

3、查询操作

select语法来进行

select [all|distinct] select_expr1,select_expr2,...
from table
[where condition]
[group by col_list] select * from sales where amout>10 and region="US"

all/distinct:可以定义重复的行是否要返回,没有定义就是默认为all,不删除重复的记录

limit:控制输出的记录数,有点类似mysql的分页关键字。

Hive不支持Having语句,只能通过子查询来实现

--SQL语句
select col1 from table1 group by col1 having sum (col2)>10
--转化为Hive语句
select col1 from (select col1,sum(col2) as col2sum from table1 group by col1) table2 where table2.col2sum>10

Hive QL的操作的更多相关文章

  1. Hive QL 介绍

    小结 本次课程学习了 Hive QL 基本语法和操作. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的 ...

  2. Hive的Shell里hive> 执行操作时,出现FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask错误的解决办法(图文详解)

    不多说,直接上干货! 这个问题,得非 你的hive和hbase是不是同样都是CDH版本,还是一个是apache版本,一个是CDH版本. 问题详情 [kfk@bigdata-pro01 apache-h ...

  3. Hive中JOIN操作

    1. 只支持相等JOIN. 2. 多表连接当使用不同的列进行JOIN时,会产生多个MR作业. 3. 最后的表的数据是从流中读取,而前面的会在内存中缓存,因此最好把最大的表放在最后. SELECT /* ...

  4. Hive学习之五 《Hive进阶—UDF操作案例》 详解

    hive—UDF操作 udf的操作过程: 在HIVE会话中add 自定义函数的jar文件,然后创建function,继而使用函数. 下面就以下面课题为例: 课题:统计每个活动的PV和UV 一.Java ...

  5. hive:join操作

    hive的多表连接,都会转换成多个MR job,每一个MR job在hive中均称为Join阶段.按照join程序最后一个表应该尽量是大表,因为join前一阶段生成的数据会存在于Reducer 的bu ...

  6. hive从本地导入数据时出现「Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask」错误

    现象 通过load data local导入本地文件时报无法导入的错误 hive> load data local inpath '/home/hadoop/out/mid_test.txt' ...

  7. hive 2以上版本启动异常 Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

    hive2.0以上的版本启动时 抛出 “Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreCli ...

  8. Hive配置与操作实践

    Hive配置与操作实践 @(Hadoop) 安装hive hive的安装十分简单,只需要在一台服务器上部署即可. 上传hive安装包,解压缩,将其配入环境变量. mysql的设置 在要作为元数据库的m ...

  9. Hive 学习之路(七)—— Hive 常用DML操作

    一.加载文件数据到表 1.1 语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (p ...

随机推荐

  1. 【NOIP 2016】Day1 T2 天天爱跑步

    Problem Description 小 C 同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是一个养成类游戏,需要玩家每天按时上线,完成打卡任 ...

  2. EF Code First 整不明白 继续完善

    1.Add-Migration RenameDesc  要修改列名先用这个,然后把要修改的列名手动修改一下.  多出这个文件 public partial class RenameDesc : DbM ...

  3. 项目Alpha冲刺——代码规范、冲刺任务与计划

    作业要求 这个作业属于哪个课程 软件工程1916-W(福州大学) 这个作业要求在哪里 项目Alpha冲刺 团队名称 基于云的胜利冲锋队 项目名称 云评:高校学生成绩综合评估及可视化分析平台 这个作业的 ...

  4. linux服务器安装brook服务端 使用brook客户端

    既然你已经找到了此文章,说明已经知道brook的用途了,不做介绍,下面讲安装方法: 连接服务器,随便cd一个安装目录,例如: mkdir brook && cd brook 2.进re ...

  5. 【BZOJ】2331: [SCOI2011]地板

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2331 一眼插头DP... 考虑一个L形的东西,要构成它可以划分为两个阶段,即当前线段是拐了 ...

  6. 添加删除tag

    为某个分支打tag git tag -a v1. 9fceb02 删除tag git tag -d test_tag git push origin --delete tag test_tag 推送: ...

  7. go 多态

    demo1 // Sample program to show how polymorphic behavior with interfaces. package main import ( &quo ...

  8. [原][数学][C++][osg]空间向量OA到转到空间向量OB、以及四元素Q1转到Q2的函数

    注意:Oa其实在OK的延长线上,上图只是为了好看才把Oa和OK分开了 算法需求如图所示: 已知空间向量OA和空间向量OB 我想算出OA向OB按某角度或者某时间移动 变成空间向量Oa的算法 先说废话:我 ...

  9. 关于VUE调用父实例($parent) 根实例 中的数据和方法

    this.$parent或者 this.$root 在子组件中判断this.$parent获取的实例是不是父组件的实例 在子组件中console.log(this.$parent)  在父组件中con ...

  10. git checkout -b 分支name 分支的新建, 切换, 删除, 查看

    $ git checkout 711 -berror: switch `b' requires a value 以上, 可以看出, 参数 -b  放到最后是错误的. 711@MININT- 64 /d ...