hive中 join与where

原创 2016年06月01日 10:43:00

HiveQL与标准SQL的区别:

陷阱1:

SELECT * 
FROM first_table t1
JION second_table t2
ON t1.id = t2.id
where t1.date = "2016-06-01"

在hive里面,没有SQL优化器,则这样些的后果是,直接将t1表与t2表全量连接,产生大量的MapReduce操作再进行过滤

正确写法:

SELECT * 
FROM (
			SELECT *
			FROM first_table
			WHERE date = "2016-06-01")t1
JOIN second_table t2
ON t1.id = t2.id;


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Hive join on的不等条件实现方法

hql的join on操作只支持相等条件,比如:select * from a join b on a.id=b.id;但是不支持相等条件以外的情况,比如:select * from a join b...

sql(join on 和where的执行顺序)

left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录。 right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录。 inner join: 内连接,又...

hive表在join on上的过滤和在where上过滤的对比

当两张表A和B在join时,条件筛选放在表join时的on上面和放在where上面得到的结果是不一样的。 如下创建两张表: A表结构以及数据:id name grade dept 1 ...

Hive.WHERE子句的“陷阱”

前天遇到这样一个场景:        Hive数据仓库里有一个用户访问日志表my_table,这个表对日期字段date (String类型)进行了分区。此外,这个表还有一个字段page_id(Int类...

Hive sql语法:inner join on, left join on, right join on详细使用方法

inner join(等值连接) 只返回两个表中联结字段相等的行 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表...

Hive的JOIN用法

Hive表连接的语法支持如下: Sql代码   join_table:       table_reference JOIN table_factor [join_...

Hive总结(八)Hive数据导出三种方式

今天我们再谈谈Hive中的三种不同的数据导出方式。 根据导出的地方不一样,将这些方式分为三种: (1)、导出到本地文件系统; (2)、导出到HDFS中; (3)、导出到Hive的另一个表中。 为了避免...

Hadoop Hive sql语法详解

1. DDL Operations 创建表: hive> CREATE TABLE pokes (foo INT, bar STRING); 创建表并创建索引字段ds hive> CREATE ...
  • hguisu
  • hguisu
  • 2012-02-14 09:37
  • 172339

hive select where

Hive查询语言(HiveQL)是一种查询语言,Hive处理在Metastore分析结构化数据。本章介绍了如何使用SELECT语句的WHERE子句。 SELECT语句用来从表中检索的数据。 WHER...

hive 各种 join (left outer join、join、full outer join)

一、概念 1、左连接 left outer join 以左边表为准,逐条去右边表找相同字段,如果有多条会依次列出 2、连接join 找出左右相同同的记录 二、实验 1、准备数据 create ex...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)