蜂巢。不能引用where子句中的分区

时间:2012-12-17 16:46:50

标签: hadoop hql hive

我创建了一个按日期分区的表。但是不能在where子句中使用分区。 这是过程 步骤1:

     CREATE TABLE new_table (
           a string,
           b string
      )
     PARTITIONED BY (dt string);

步骤2:

        Insert overwrite table new_table partition (dt=$date)
        Select a, b from my_table
        where dt = '$date

表已创建。

           Describe new_table;
           a string
           b string
           dt string

问题

           select * from new_table where dt='$date'

返回空集。

,而

            select * from new_table 

返回a,b和dt。

有谁知道这可能是什么原因?

由于

2 个答案:

答案 0 :(得分:0)

Sahara,where子句中的分区可以正常工作。您是否有可能在谓词的RHS中指定错误的值?

您可能还希望查看/user/hive/warehouse/new_table内的数据(默认情况下),以查看数据是否与预期的数据相符。

答案 1 :(得分:0)

尝试使用

插入
Insert overwrite table new_table partition (dt=$date)
    Select a, b, dt from my_table
    where dt = '$date'