hive HQL笔记
#建表
create table sign_in (uri string , test string) row format delimited fields terminated by ‘|’;
#假设不存在表则创建
create table if not exists mytable (id bigint,name string);
#创建外部表
hive> create external table lss_sign_in (uri string,token string) row format delimited fields terminated by '\t’ ;
#从HDFS载入数据到表
hive> load data inpath 'hdfs:/user/root/input/sign_in/sign.uri' overwrite into table lss_sign_in;
#本地文件载入到hive 仓库:
hive> LOAD DATA LOCAL INPATH '/user/test.txt' OVERWRITE INTO TABLE lss;
#从HDFD载入到HIVE 仓库(注意这里记载完毕后会删除掉HDFS上的文件)
hive> LOAD DATA INPATH 'hdfs:/user/root/input/test.txt' OVERWRITE INTO TABLE kevin;
Loading data to table default.kevin
Deleted hdfs://ixx-test-124:9019/user/hive/warehouse/kevin
尽管源文件表面上看是在HDFS删除了。事实上文件被移到hive HDFS数据仓库中去了。
默认数据库仓库的文件保存在: /user/hive/warehouse/
当中kevin相应的HIVE中得元数据表名称。
test.txt就是源文件,从本地载入文件和HDFS载入文件类似。
./hadoop fs -text /user/hive/warehouse/kevin/test.txt
#查看表结构
describe tableName;
id int
name string
age int
也能够使用:desc tableName。
#显示全部函数
show functions;
#查看函数用法
hive> describe function substr;
substr(str, pos[, len]) - returns the substring of str that starts at pos and is of length len
#依据URI分组,count(uri) 能够统计URI的PV
hive> select uri,count(uri) from sign_in group by uri;
#统计UV
hive> select uri, count(distinct koudaitoken) from sign_in group by uri;
#也相同支持 limit
#改动表结构
hive> alter table sign_in_uri replace columns(uri string);
#把Select结果插入到表中
insert overwrite table sign_in_uri select uri from sign_in group by uri;
#链接查询
#左链接
select sign_in.*,sign_in_uri.* from sign_in_uri left outer join sign_in on(sign_in_uri.uri = sign_in.uri);
#右链接
select sign_in.*,sign_in_uri.* from sign_in_uri right outer join sign_in on(sign_in_uri.uri = sign_in.uri) ;
#全链接
hive> select sign_in.*,sign_in_uri.* from sign_in_uri full outer join sign_in on(sign_in_uri.uri = sign_in.uri) limit 100;
#in 查询(hive不支持IN)使用semi join 达到类似效果
hive> select sign_in_uri.* from sign_in_uri left semi join sign_in on(sign_in_uri.uri = sign_in.uri) limit 10;
使用正则
hive> select regexp_extract(koudaitoken,'\\[.*\\]',0) from sign_in limit 10;
#查看函数用法
hive> describe function regexp_extract
regexp_extract(str, regexp[, idx]) - extracts a group that matches regexp
#注意写入HDFS或本地文件夹时会删除掉文件夹下的内容。
#将Hive数据导出到本地文件夹
hive> insert overwrite local directory '/luanshoushen/hive' select * from sign_in_uri;
#将Hive数据导出到HDFS
hive> insert overwrite directory 'user/root/input/hive' select * from sign_in;
#使用一个查询将结果写入HDFS文件夹和本地文件夹
hive> from sign_in
> insert overwrite local directory '/luanshoushen/hive' select *
> insert overwrite directory '/user/root/input/' select *
> ;
hive HQL笔记的更多相关文章
- hive学习笔记之一:基本数据类型
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之三:内部表和外部表
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之四:分区表
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之五:分桶
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之六:HiveQL基础
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之七:内置函数
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之九:基础UDF
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之十:用户自定义聚合函数(UDAF)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<hive学习笔记>的第十 ...
- hive学习笔记之十一:UDTF
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
随机推荐
- web 项目引入 maven jar 工具类异常
普通的web 项目引入 maven 子项目后,,启动web不会出现异常,登录web 页面异常提示: HTTP Status 500 - java.lang.NoSuchMethodError: o ...
- ES6/ES2015核心内容 import export
ES6/ES2015核心内容:https://www.cnblogs.com/doit8791/p/5184238.html Javascript ES6学习 import export https ...
- C++中函数模板的深入理解
1,函数模板深入理解: 1,编译器从函数模板通过具体类型产生不同的函数: 1,模板就是模子,通过这个模子可以产生很多的实物: 2,函数模板就是编译器用来产生具体函数的模子: 2,编译器会对函数模板进行 ...
- redis缓存架构-01-缓存架构方案
缓存实现架构 1.小型电商-页面静态化(基于url rewrite) 2.大型电商
- [fw]GDT是在分段中為了相容real mode 跟 protected mode的產物
在Protected Mode下,一个重要的必不可少的数据结构就是GDT(Global Descriptor Table). 为什么要有GDT?我们首先考虑一下在Real Mode下的编程模型: 在R ...
- 记录一次kibana启动Unable to fetch data from reporting collector
版本不匹配导致 应该es与kibana版本一致 本文链接:https://blog.csdn.net/qq_33293753/article/details/87894882
- jQuery对于demo元素的上移、下移、删除操作等实现
今天给大家分享一个实用的jQuery技能:dom元素的操作:我们经常会去获取dom元素去实现交互效果,以及数据的操作. 首先复习一下jQuery DOM 元素方法: .get() 获得由选择器指定的D ...
- Python3学习笔记——类
#!/usr/bin/env python #-*- coding:utf-8 -*- #面向对象(类+对象) 三大特性:封装.继承.多态 类的成员: 字段: 普通字段:保存在对象(实例)中,执行只能 ...
- shell条件测试语句
- jQuery取值/赋值常见方法收集
1.文本取值.赋值 $("#id").attr("value"); $("#id").val(); $("#id).attr(&q ...