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上的过滤和在where上过滤的对比

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

hive join顺序影响的性能一例子

调整前跑完需要两个小时,调整后5分钟跑完 调整前HSQL: insert overwrite table dwd.game_cid_new partition(thisdate,ckey) sel...

Hive.WHERE子句的“陷阱”

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

Hadoop Hive sql语法详解

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

Hive的三种Join方式

Hive中就是把Map,Reduce的Join拿过来,通过SQL来表示。 Common/Shuffle/Reduce Join
  • cxboyee
  • cxboyee
  • 2017年01月16日 19:10
  • 6408

hive 各种join使用实例

hive (test)> CREATE TABLE tmp_a(            > aID int,             > aNum String             > ) ...
  • mtj66
  • mtj66
  • 2016年12月31日 11:48
  • 1634

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

一、概念 1、左连接 left outer join 以左边表为准,逐条去右边表找相同字段,如果有多条会依次列出 2、连接join 找出左右相同同的记录 二、实验 1、准备数据 create ex...

hive入门学习:join的三种优化方式

hive入门学习:join的三种优化方式               hive在实际的应用过程中,大部份分情况都会涉及到不同的表格的连接,例如在进行两个table的join的时候,利用MR的思想...

Hive的JOIN用法

Hive表连接的语法支持如下: Sql代码   join_table:       table_reference JOIN table_factor [join_condi...
  • wisgood
  • wisgood
  • 2013年12月16日 19:34
  • 10564

Hive中join, outer join, semi join区别

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 最常用的就是多表关联查...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hive中 join与where
举报原因:
原因补充:

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