zoukankan      html  css  js  c++  java
  • Hive DQL详解

    1、select语法

    SELECT [ALL | DISTINCT] select_expr, select_expr, ...
    FROM table_reference
    [WHERE where_condition]
    [GROUP BY col_list]
    [ CLUSTER BY col_list
    | [DISTRIBUTE BY col_list] [SORT BY col_list]
    ]
    [LIMIT number]

      SELETC声明可以是union的一部分或者是另一个查询的子查询。

      table_reference代表被查询的对象,可以是一个table、view、join结构、或者子查询。

      例如:查询表t1的所有列。

      SELECT * FROM t1;

    1.1 WHERE条件

      where条件是一个boolean表达式。

      例如:下面这个查询语句返回结果是sales记录中在US region里并且amount>10的记录。

      SELECT * FROM sales WHERE amount>10 AND region='US';

      Hive的where条件里不支持IN,EXISTS或者子查询。

    1.2 ALL和DISTINCT

      ALL和DISTINCT用于选择重复的行是否需要返回。如果没有写,那默认条件下是ALL。DISTINCT从结果集里删除了重复的行。

    1.3 基于查询的Partition

      一般来说,一个查询会浏览整个表(而并不是一个采样)。如果一个表创建的是时候使用了PARTITIONED BY,那么查询的时候可以根据输入进行修剪,仅仅查询这个表的一小部分。

    2、高级功能

    3、join语法

    4、Lateral View语法

    5、UNION语法

    6、Subquery语法

    7、Sampling语法

    8、EXPLAIN语法

    9、虚拟栏目

     

    SELECT[ALL|DISTINCT] select_expr, select_expr,...

    FROM table_reference

    [WHERE where_condition]

    [GROUPBY col_list]

    [ CLUSTER BY col_list

    |[DISTRIBUTE BY col_list][SORT BY col_list]

    ]

    [LIMIT number]

  • 相关阅读:
    Python获取会议部分的信息内容(不断完善中)
    TensorFlow学习笔记(UTF-8 问题解决 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte)
    Tensorflow学习笔记(对MNIST经典例程的)的代码注释与理解
    virtualenvwrapper
    最小二乘法与梯度下降的区别
    Git
    Jupyter
    Linux
    Iterm2
    Homebrew
  • 原文地址:https://www.cnblogs.com/hustzzl/p/7888349.html
Copyright © 2011-2022 走看看