zoukankan      html  css  js  c++  java
  • left semi join VS left join

    left semi join VS left join思考:

    建表

     CREATE TABLE `kv1`(
       `k1` string,
       `v1` string)
     ROW FORMAT SERDE
       'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
     WITH SERDEPROPERTIES (
       'field.delim'='	',
       'line.delim'='
    ',
       'serialization.format'='	')
     STORED AS INPUTFORMAT
       'org.apache.hadoop.mapred.TextInputFormat'
     OUTPUTFORMAT
       'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
       ;
    
    CREATE TABLE `kv2`(
    `k2` string,
    `v2` string)
    ROW FORMAT SERDE
    'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
    WITH SERDEPROPERTIES (
    'field.delim'='	',
    'line.delim'='
    ',
    'serialization.format'='	')
    STORED AS INPUTFORMAT
    'org.apache.hadoop.mapred.TextInputFormat'
    OUTPUTFORMAT
    'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
    ;

    插入数据

    insert into table kv1
    select 1,"a1"
    union all
    select 2,"b1"
    union all
    select 3,"c1";
       
       
    insert into table kv2
    select 4,"a2"
    union all
    select 2,"b2"
    union all
    select 3,"c2";   

    left semi join:==>left semi +inner join 可以这样理解

    select  * from
    kv1 left semi join kv2
    on kv1.k1=kv2.k2;
    +---------+---------+--+
    | kv1.k1  | kv1.v1  |
    +---------+---------+--+
    | 2       | b1      |
    | 3       | c1      |
    +---------+---------+--+

    left join:

    select  * from
    kv1 left  join kv2
    on kv1.k1=kv2.k2;
    +---------+---------+---------+---------+--+
    | kv1.k1  | kv1.v1  | kv2.k2  | kv2.v2  |
    +---------+---------+---------+---------+--+
    | 1       | a1      | NULL    | NULL    |
    | 2       | b1      | 2       | b2      |
    | 3       | c1      | 3       | c2      |
    +---------+---------+---------+---------+--+
  • 相关阅读:
    JS_ECMA基本语法中的几种封装的小函数-1
    DOM_06之定时器、事件、cookie
    DOM_05之DOM、BOM常用对象
    OC数组中文排序
    uiwebview加载中文URL
    ios判断点击的坐标点
    获取字符串在另一个字符串中出现的次数
    NSFileHandle
    NSFileManager
    NSData
  • 原文地址:https://www.cnblogs.com/wqbin/p/11048796.html
Copyright © 2011-2022 走看看