Hive 笔记
- DESCRIBE EXTENDED mydb.employees DESCRIBE EXTENDED mydb.employees DESCRIBE EXTENDED mydb.employees
hive> SHOW PARTITIONS employees; SHOW PARTITIONS command
Hive : select from group by : group by 对聚合操作之外的字段使用. 先是 from group by 执行后, 才执行select操作.
Hive 数据库时间转换: tbl_pv_hour.time字段, 格式是
20141019 10:40:01
20141019 10:51:25
20141019 10:51:02
20141019 10:42:03
20141019 10:41:47
转换成 基准时间是unix_timestamp(time,'yyyyMMdd HH:mm:ss'), 时间格式字符串不可少.
select unix_timestamp(time,'yyyyMMdd HH:mm:ss') from tbl_pv_hour where dt="20141019" limit 5;
GROUP BY : 分组, 将同一个 字段的同一个值, 聚合为一组. 组中是一个关键字的多条记录.
在此基础上, 再使用聚合函数:max() \ min() \ sum() 等, 则会在一个 关键字值 对应的 分组中 找到 最大(max()) 最小(min()) 的一条记录, 即实现了去重.
示例:
INSERT INTO TABLE default.general_details_day_gaozs
SELECT letv_cookie,max(ip),max(country),max(area),max(province),max(city),max(nettype),max(os),
max(os_version),p1,p2,max(p3),max(app),max(brand),max(terminal_id),max(resolution),max(browser),max(fake)
FROM data_raw.tbl_env_hour
WHERE dt=${datetime} and product=1
GROUP BY letv_cookie,p1,p2
其中 GROUP BY letv_cookie,p1,p2 将数据分组, max()将分组中最大值取出, 完成去重. 语句中不出现distinct, 没用.
好的
Hive 笔记的更多相关文章
- Hive笔记--sql语法详解及JavaAPI
Hive SQL 语法详解:http://blog.csdn.net/hguisu/article/details/7256833Hive SQL 学习笔记(常用):http://blog.sina. ...
- hive笔记(自学整理的)
第一部分:用户管理 创建用户:CREATE DATABASE XXX 查看用户:SHOW DATABASES; 关键查看用户:show databases like 'de.*' 讲解:创建一个用 ...
- Hive笔记--配置以及遇到的问题
ubuntu安装mysql http://www.2cto.com/database/201401/273423.html Hive安装: http://www.aboutyun.com/forum ...
- Hive笔记——技术点汇总
目录 · 概况 · 手工安装 · 引言 · 创建HDFS目录 · 创建元数据库 · 配置文件 · 测试 · 原理 · 架构 · 与关系型数据库对比 · API · WordCount · 命令 · 数 ...
- hive笔记:复杂数据类型-map结构
map 结构 1. 语法:map(k1,v1,k2,v2,…) 操作类型:map ,map类型的数据可以通过'列名['key']的方式访问 案例: select deductions['Feder ...
- hive笔记
cast cast(number as string), 可以将整数转成字符串 lpad rpad lpad(target, 10, '0') 表示在target字符串前面补0,构成一个长度为 ...
- hive笔记:时间格式的统一
一.string类型,年月日部分包含的时间统一格式: 原数据格式(时间字段为string类型) 取数时间和格式的语法 2018-11-01 00:12:49.0 substr(regexp_repl ...
- hive笔记:转义字符的使用
hive中的转义符 Hadoop和Hive都是用UTF-8编码的,所以, 所有中文必须是UTF-8编码, 才能正常使用 备注:中文数据load到表里面, 如果字符集不同,很有可能全是乱码需要做转码的, ...
- hive笔记:复杂数据类型-array结构
array 结构 (1)语法:array(val1,val2,val3,…) 操作类型:array array类型的数据可以通过'数组名[index]'的方式访问,index从0开始: (2)建表: ...
随机推荐
- nubia Z5 mini 小牛 黑砖qhsusb dload修复
给手机分区,用了分区助手,将一些分区移动. 结果分区坏了,只有两三个分区在电脑显示,当时晕菜把数据线拔了重插. 手机变砖,不能启动,黑屏,不能进recovery... 参考 http://bbs.nu ...
- 掌握 tar 命令让你秒变大牛
导读 相信很多初学者在linux环境下为文件归类整理而犯愁,下面是整理文章的的一些命令与技巧,学习Tar命令将会让你处理文件时更加得心应手. Tar(Tape ARchive,磁带归档的缩写:最初设计 ...
- angularjs 中的setTimeout(),setInterval() / $interval 和 $timeout
$interval window.setInterval的Angular包装形式.Fn是每次延迟时间后被执行的函数. 间隔函数的返回值是一个承诺.这个承诺将在每个间隔刻度被通知,并且到达规定迭代次数后 ...
- height:100%与height:inherit的区别
一.兼容性 首先,inherit这个属性只是在ie8+才支持:100%支持ie6: 二.大多数情况下没有区别 在正常情况下height:100%与height:inherit没有任何区别: 1.父元素 ...
- Linux下安装流量监控工具iftop
在Linux系统中,top命令可以查看系统资源包括内存,CPU占用信息,查看和探测网络状态可以使用netstat,nmap等工具,实时流量监控可以使用iftop,下面是在CentOS7系列系统上安装i ...
- 移植一个cocos2d-x游戏
1.编译的时候,如果遇到如下的提示信息: No rule to make target `jni/./../Classes/KeyBoardInput.cpp', needed by `obj/loc ...
- The note of Vue.js
In computed field, increment operator is not supported.
- Tensorflow 变量的共享
https://github.com/chenghuige/tensorflow-exp/blob/master/examples/sparse-tensor-classification/ tens ...
- 用 Blend 给Windows Phone 应用创建 示例数据
前言 创建 示例数据(Sample Data) 是提高程序开发效率的一个很有效方法,有了它,我们调UI的时候就不必每次都运行应用,然后在手机上观看页面效果了,配合 “AlignmentGrid.pn ...
- 转:IT公司的十大内耗,别说你公司没有!
这篇文章是以前看到的,觉得写得非常好,转载在自己BLOG作为记录.原文:http://www.pmtoo.com/news/2015/0108/7260.html. 当企业发展到一定时期时,会不可避免 ...