title: Partition with type boolean always get true in Hive
body: <p>Recently I installed CDH5.4.4 which have <code>Hive 1.1.0-cdh5.4.4</code> included, then I got something strange in Hive:</p>
  
  <pre><code>CREATE TABLE boolean_partition_test
  (
  `assert` string)
  PARTITIONED BY (
  `isreal` boolean
  );
  
  insert into table boolean_partition_test partition(isreal=false) 
  select 'Cloudy' from dual where ds='2015-11-01' limit 1;
  </code></pre>
  
  <p>Can't I believe when I ran the following queries:</p>
  
  <pre><code>hive&gt; show partitions boolean_partition_test;
  OK
  isreal=false
  Time taken: 0.158 seconds, Fetched: 1 row(s)
  hive&gt; select * from boolean_partition_test;
  OK
  Cloudy  true
  Time taken: 0.27 seconds, Fetched: 1 row(s)
  </code></pre>
  
  <p>I even got the directory in HDFS: <code>/user/hive/warehouse/boolean_partition_test/isreal=false</code></p>
  
  <p>Then I tried the dynamic partition way:</p>
  
  <pre><code>CREATE TABLE boolean_partition_test2
  (
  `assert` string)
  PARTITIONED BY (
  `isreal` boolean
  );
  
  insert into table boolean_partition_test2 partition(isreal) 
  select 'Cloudy' as assert, false as isreal from dual where ds='2015-11-01' limit 1;
  </code></pre>
  
  <p>Things still.. After I changed field <code>isreal</code> to type <code>string</code>, things got back to normal, however it's not what I want at the moment. So what turned Hive such a naughty kid in this case?</p>