HQL
wuxiaosi808
这个作者很懒,什么都没留下…
展开
-
group by
group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。select子句中的列名必须为分组列或列函数,列函数对于group by子句定义的每个组返回一个结果。将where子句与group by子句一起使用分组查询可以在形成组和计算列函数之前具有消除非限定行的标准where子句。必须在group by子句之前指定where子句在SELECT语句中指定的每个列名...原创 2018-03-06 20:20:35 · 293 阅读 · 0 评论 -
Hive join操作
JOIN是子句用于通过使用共同值组合来自两个表特定字段。它是用来从数据库中的两个或更多的表组合的记录。它或多或少类似于SQL JOIN。语法join_table: table_reference JOIN table_factor [join_condition] | table_reference {LEFT|RIGHT|FULL} [OUTER] JOIN table_refer...转载 2018-03-08 14:41:08 · 327 阅读 · 0 评论 -
HiveQL:查询
HiveQL查询1、select...from语句,select是sql的射影算子;from子句标识从哪个表、视图或者嵌套查询中选择记录。(1)可以使用正则表达式来指定列;(2)使用列值进行计算;(3)算术表达式;(4)使用函数;聚合函数是特殊的函数,可以最多行进行一些计算,然后得到一个结果值。例如count和avg等函数。例如select count(*),avg(salary) from em...原创 2018-02-28 17:05:51 · 303 阅读 · 0 评论 -
Lateral View用法 与 Hive UDTF explode
Lateral View是Hive中提供给UDTF的conjunction,它可以解决UDTF不能添加额外的select列的问题。1. Why we need Lateral View?当我们想对hive表中某一列进行split之后,想对其转换成1 to N的模式,即一行转多列。hive不允许我们在UDTF函数之外,再添加其它select语句。如下,我们想将登录某个游戏的用户id放在一个字段use...转载 2018-04-11 17:20:42 · 574 阅读 · 0 评论 -
拉链表简介
拉链表简介(转载,以mysql为例)在数据仓库中,经常会用历史数据和时间维度做数据分析。而保存历史数据最常见的方案是使用拉链表进行存储。首先创建测试表:create table deal_order( order_id varchar(20) comment '订单ID', order_updatetime date comment '订单更新时间', ...转载 2018-04-13 09:45:22 · 785 阅读 · 0 评论 -
Hive SQL优化
本章只是从HQL层面介绍一下,日常开发HQL中需要注意的一些优化点,不涉及Hadoop层面的参数、配置等优化。1 使用分区剪裁、列剪裁在SELECT中,只拿需要的列,如果有,尽量使用分区过滤,少用SELECT *。在分区剪裁中,当使用外关联时,如果将副表的过滤条件写在Where后面,那么就会先全表关联,之后再过滤,比如:SELECT a.idFROM lxw1234_a a...转载 2019-05-08 10:02:34 · 394 阅读 · 0 评论