hive

作者: 异想派 | 来源:发表于2016-10-21 14:15 被阅读85次

分区表

  • 功能:
    辅助查询,缩小查询范围
  • 用法:
    1 . 单分区表建表语句:
    create table day_table (id int, content string) partitioned by (dt string);单分区表,按天分区,在表结构中存在id,content,dt三列
    2 . 双分区建表语句:
    create table day_hour_table (id int, content string) partitioned by (dt string, hour string);双分区表,按天和小时分区,在表结构中新增加了dt和hour两列
    3 . 基于分区的查询的语句:
    SELECT day_table.* FROM day_table WHERE day_table.dt>= '2008-08-08'
    4 . 查看分区语句:
    show partitions day_hour_table
    心如大海

查询易错点

1 . group by不支持别名,order_by 推荐使用别名
2 . 查询多列时,不能针对某列使用distinct,因为对多列使用distinct,只有完全相同的才会被去重

select distinct ID,AA,BB from tName
查找ID+AA+BB列都不重复的

3 . A表left join B表时,如果on a.user=b.userid,where条件设置b.userid is null,则where条件不能再出现B表字段,否则查询结果为空。
因为既然要求B表链接为空,则在where子句设置B表其他字段的限制必然是找不到该字段的,可以on增加条件限制
4 . 多张表关联时

select count(A.id) from A 
left join B 
on A.id=B.id  
left join C 
on A.id=C.id
与
select count(A.id) from A 
left join B 
on A.id=B.id  
left join C 
on B.id=C.id
2者取出来的行数值是不一样的

5 . Join语法概述
http://www.cnblogs.com/BeginMan/p/3754322.html

  • 5.1
  • INNER JOIN(内连接,或等值连接):取得两个表中存在连接匹配关系的记录。
  • LEFT JOIN(左连接):取得左表(table1)完全记录,即是右表(table2)并无对应匹配记录。
  • RIGHT JOIN(右连接):与 LEFT JOIN 相反,取得右表(table2)完全记录,即是左表(table1)并无匹配对应记录。
  • Cross join:交叉连接,得到的结果是两个表的乘积,即笛卡尔积
  • 5.2 性能优化
  • left join/right join VS inner join
    • 尽量用inner join.避免 LEFT JOIN 和 NULL
    • on与 where的执行顺序,where在匹配完成后才进行过滤
    • 尽量避免子查询,而用join

6 . 关键字查询时需加上反引号``

性能优化:

相关文章

  • 数据仓库Hive

    Hive产生背景 Hive概述 HIve体系架构 Hive部署架构 Hive和RDBMS区别 Hive部署以及快速...

  • 数据查询-Hive基础

    outline 什么是Hive 为什么需要Hive Hive的架构 Hive的常用操作 什么是Hive Hive由...

  • 大数据知识 | hive初识

    hive简介 hive架构 hive是什么 官网这样说:https://hive.apache.org/ hive...

  • Hive | Hive 安装详解

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

  • Hive日常使用

    hive 创建表: hive 执行: =========================hive 调用Python...

  • Hive常用的几种交互操作

    查看hive下的交互命令方式 -help(hive 外) 命令:bin/hive -helpusage: hive...

  • 【Hive】

    Hive的安装 Hive官网地址 http://hive.apache.org/[http://hive.apac...

  • Hive进阶

    hive配置,命令 hive查询显示列名 hive默认分隔符 \001 hive命令行中查看当前hive环境变量 ...

  • Hive 入门

    Hive官网 Hive概述 Hive 的底层执行引擎有 :MapReduce,Tez,Spark- Hive on...

  • 大数据开发之Hive优化篇2-Hive的explain命令

    备注:Hive 版本 2.1.1 一.Hive explain命令概述 Hive的explain命令用来看Hive...

网友评论

      本文标题:hive

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