<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: HAWQ to HIVE data type mapping in Archives of Support Questions (Read Only)</title>
    <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/HAWQ-to-HIVE-data-type-mapping/m-p/106615#M25634</link>
    <description>&lt;P&gt;&lt;A href="https://community.hortonworks.com/users/2977/khaslbeck.html"&gt;@Kirk Haslbeck&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.hortonworks.com/users/2977/khaslbeck.html"&gt;&lt;/A&gt;Interval data type is not supported in Hive, yet. See &lt;A href="https://issues.apache.org/jira/browse/HIVE-5021" target="_blank"&gt;https://issues.apache.org/jira/browse/HIVE-5021&lt;/A&gt;. Until HIVE-5021 feature is added, I would use two BigInt fields in Hive target table: startInterval, endInterval. Queries using these two fields in WHERE clauses would run better, being more appropriate for indexing and fast scan.&lt;/P&gt;&lt;P&gt;For bit[n] in HAWQ, I would use a char, varchar, or string data type in Hive, depends on how big the string needs to be.&lt;/P&gt;</description>
    <pubDate>Mon, 16 May 2016 20:44:39 GMT</pubDate>
    <dc:creator>cstanca</dc:creator>
    <dc:date>2016-05-16T20:44:39Z</dc:date>
    <item>
      <title>HAWQ to HIVE data type mapping</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/HAWQ-to-HIVE-data-type-mapping/m-p/106611#M25630</link>
      <description>&lt;P&gt;I'm putting together a dataType mapping table and I'm looking for suggestions specifically around "interval", "bit", "dates".&lt;/P&gt;&lt;P&gt;1.  HAWQ -&amp;gt; Hive, Interval&lt;/P&gt;&lt;P&gt;2. HAWQ -&amp;gt; Hive, bit.  I see that boolean doesn't convert, is the only option TinyInt?&lt;/P&gt;&lt;P&gt;3. HAWQ -&amp;gt; Hive, date.  Best practice String or Date.  I know Hive can read a String in Date format dynamically. &lt;/P&gt;&lt;P&gt;4. HAWQ -&amp;gt; Hive, Timestamp as String or Timestamp?&lt;/P&gt;&lt;P&gt;5. Does sqoop cover HAWQ?  &lt;/P&gt;&lt;TABLE&gt;
 &lt;TBODY&gt;&lt;TR&gt;
  &lt;TD&gt;&lt;STRONG&gt;HAWQ&lt;/STRONG&gt;&lt;/TD&gt;
  &lt;TD&gt;&lt;STRONG&gt;HIVE&lt;/STRONG&gt;&lt;/TD&gt;
  &lt;TD&gt;&lt;STRONG&gt;Suggestion&lt;/STRONG&gt;&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;bigint&lt;/TD&gt;
  &lt;TD&gt;bigint&lt;/TD&gt;
  &lt;TD&gt;Bigint&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;integer&lt;/TD&gt;
  &lt;TD&gt;int&lt;/TD&gt;
  &lt;TD&gt;Int&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;character varying(20)&lt;/TD&gt;
  &lt;TD&gt;varchar(20)&lt;/TD&gt;
  &lt;TD&gt;Varchar(20)&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;timestamp without time
  zone&lt;/TD&gt;
  &lt;TD&gt;timestamp&lt;/TD&gt;
  &lt;TD&gt;Timestamp&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;numeric&lt;/TD&gt;
  &lt;TD&gt;int&lt;/TD&gt;
  &lt;TD&gt;Int&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;timestamp without time
  zone DEFAULT now()&lt;/TD&gt;
  &lt;TD&gt;timestamp&lt;/TD&gt;
  &lt;TD&gt;Timestamp&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;character varying&lt;/TD&gt;
  &lt;TD&gt;int&lt;/TD&gt;
  &lt;TD&gt;Varchar, string&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;text&lt;/TD&gt;
  &lt;TD&gt;string&lt;/TD&gt;
  &lt;TD&gt;String&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;double precision&lt;/TD&gt;
  &lt;TD&gt;double&lt;/TD&gt;
  &lt;TD&gt;Double if &amp;lt; 9-15 precision, else Decimal(0,0)&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;text[]&lt;/TD&gt;
  &lt;TD&gt;array&amp;lt;string&amp;gt;&lt;/TD&gt;
  &lt;TD&gt;Array&amp;lt;string&amp;gt;&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;boolean&lt;/TD&gt;
  &lt;TD&gt;boolean&lt;/TD&gt;
  &lt;TD&gt;Boolean&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;date&lt;/TD&gt;
  &lt;TD&gt;date&lt;/TD&gt;
  &lt;TD&gt;Date&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;character varying[]&lt;/TD&gt;
  &lt;TD&gt;array&amp;lt;string&amp;gt;&lt;/TD&gt;
  &lt;TD&gt; array&amp;lt;string&amp;gt;
  &lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;timestamp with time zone&lt;/TD&gt;
  &lt;TD&gt;timestamp&lt;/TD&gt;
  &lt;TD&gt; Timestamp &lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;interval&lt;/TD&gt;
  &lt;TD&gt;String&lt;/TD&gt;
  &lt;TD&gt;Int&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;bit(1)&lt;/TD&gt;
  &lt;TD&gt; &lt;/TD&gt;
  &lt;TD&gt;TinyInt&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD&gt;Char&lt;/TD&gt;
  &lt;TD&gt;Char&lt;/TD&gt;
  &lt;TD&gt;Char
  : will hold whitespace but DB engine will ignore in case of “USA”== “USA  ”&lt;/TD&gt;
 &lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Wed, 20 Apr 2016 02:41:50 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/HAWQ-to-HIVE-data-type-mapping/m-p/106611#M25630</guid>
      <dc:creator>khaslbeck</dc:creator>
      <dc:date>2016-04-20T02:41:50Z</dc:date>
    </item>
    <item>
      <title>Re: HAWQ to HIVE data type mapping</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/HAWQ-to-HIVE-data-type-mapping/m-p/106612#M25631</link>
      <description>&lt;P&gt;I believe you can use postgres driver and Sqoop from HAWQ using standard postgres connection string.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Apr 2016 04:51:11 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/HAWQ-to-HIVE-data-type-mapping/m-p/106612#M25631</guid>
      <dc:creator>aervits</dc:creator>
      <dc:date>2016-04-20T04:51:11Z</dc:date>
    </item>
    <item>
      <title>Re: HAWQ to HIVE data type mapping</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/HAWQ-to-HIVE-data-type-mapping/m-p/106613#M25632</link>
      <description>&lt;P&gt;@Kirk Haslbeck&lt;/P&gt;&lt;P&gt;Couple observations:&lt;/P&gt;&lt;P&gt;- numeric in HAWQ is not equivalent with int in Hive. The equivalent is decimal or double, even float.&lt;/P&gt;&lt;P&gt;- varying varchar or varying char have an alias, e.g. varchar(x) or char(x), either way is fine&lt;/P&gt;&lt;P&gt;Most common way to load data to HAWQ and with the best throughput is using gpload utility. Not heard of a sqoop option, at least was not available about one year ago. gpload would work best with delimited flat files.&lt;/P&gt;</description>
      <pubDate>Thu, 21 Apr 2016 23:49:47 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/HAWQ-to-HIVE-data-type-mapping/m-p/106613#M25632</guid>
      <dc:creator>cstanca</dc:creator>
      <dc:date>2016-04-21T23:49:47Z</dc:date>
    </item>
    <item>
      <title>Re: HAWQ to HIVE data type mapping</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/HAWQ-to-HIVE-data-type-mapping/m-p/106614#M25633</link>
      <description>&lt;P&gt;Results from using sqoop to move data from HAWQ to HIVE. &lt;A rel="user" href="https://community.cloudera.com/users/393/aervits.html" nodeid="393" target="_blank"&gt;@Artem Ervits&lt;/A&gt; and &lt;A rel="user" href="https://community.cloudera.com/users/3486/cstanca.html" nodeid="3486" target="_blank"&gt;@cstanca&lt;/A&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;HAWQ&lt;/TD&gt;&lt;TD&gt;Hive&lt;/TD&gt;&lt;TD&gt;Result&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;int&lt;/TD&gt;&lt;TD&gt;int&lt;/TD&gt;&lt;TD&gt;worked&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;text&lt;/TD&gt;&lt;TD&gt;string&lt;/TD&gt;&lt;TD&gt;worked&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;string&lt;/TD&gt;&lt;TD&gt;write=string, onRead date operations work&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;timestamp&lt;/TD&gt;&lt;TD&gt;string&lt;/TD&gt;&lt;TD&gt;write=string, onRead ts operations work&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;bit&lt;/TD&gt;&lt;TD&gt;boolean&lt;/TD&gt;&lt;TD&gt;conversion does not work&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;decimal&lt;/TD&gt;&lt;TD&gt;double&lt;/TD&gt;&lt;TD&gt;mostly works, precision loss &amp;gt; 9
&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;double precision&lt;/TD&gt;&lt;TD&gt;double&lt;/TD&gt;&lt;TD&gt;works&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;real&lt;/TD&gt;&lt;TD&gt;double&lt;/TD&gt;&lt;TD&gt;works&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;interval&lt;/TD&gt;&lt;TD&gt;Breaks!&lt;/TD&gt;&lt;TD&gt;sqoop mapping error&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;bit varying&lt;/TD&gt;&lt;TD&gt;Breaks!&lt;/TD&gt;&lt;TD&gt;sqoop mapping error&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;string&lt;/TD&gt;&lt;TD&gt;write=string, onRead time operations work&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;char&lt;/TD&gt;&lt;TD&gt;string&lt;/TD&gt;&lt;TD&gt;write=string, onRead you need wildcard expression, recommend trimming&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;char varying&lt;/TD&gt;&lt;TD&gt;string&lt;/TD&gt;&lt;TD&gt;write=string, onRead holds whitespace, recommend trimming &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;varchar&lt;/TD&gt;&lt;TD&gt;string&lt;/TD&gt;&lt;TD&gt;works&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;boolean&lt;/TD&gt;&lt;TD&gt;boolean&lt;/TD&gt;&lt;TD&gt;works&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;numeric&lt;/TD&gt;&lt;TD&gt;double&lt;/TD&gt;&lt;TD&gt;works&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="4239-create-table.png" style="width: 2246px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/23507iC475FA58CA5D5EE9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="4239-create-table.png" alt="4239-create-table.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="4240-db-rows.png" style="width: 2996px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/23508i7DCD16FD4A13A2D6/image-size/medium?v=v2&amp;amp;px=400" role="button" title="4240-db-rows.png" alt="4240-db-rows.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;%sh
sqoop import --username zeppelin --password zeppelin  --connect jdbc:postgresql://jdbcurl --query 'SELECT id,name,join_date,age,a,b,i FROM kirk WHERE $CONDITIONS'   -m 1 --target-dir /user/zeppelin/kirk/t6 --map-column-java a=String,i=String,b=String&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="4241-schema.png" style="width: 2268px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/23509i8968363CFD4FFD65/image-size/medium?v=v2&amp;amp;px=400" role="button" title="4241-schema.png" alt="4241-schema.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;PRE&gt;-- select * 
select * from kirk ;

-- int check between inclusive
select age from kirk where age between 25 and 27;

-- decimal check
select dec from kirk where dec &amp;gt; 33.32;

-- string like and wildcard
select address from kirk where address like '%Rich%';

-- date is a string but operates like date
select join_date from kirk where join_date  between '2007-12-13' and '2007-12-15';

-- timestamp, works string on write but operates like TS
select ts from kirk where ts  &amp;gt; '2016-02-22 08:01:22'

-- BIT NOT CORRECT
select a from kirk where a =false or a = 1

-- character varying, without white space matches
select cv from kirk where cv = 'sdfsadf';

-- character varying, with white space
select cv from kirk where cv = 'white space'; -- not matching
select cv from kirk where cv = 'white space '; -- matching

-- character, doesn't match unless wildcard
select c from kirk where c like 'we%';

-- boolean, both true/false and 1/0 are converted properly
select id, isactive from kirk where isactive = true or isactive = 0


&lt;/PRE&gt;</description>
      <pubDate>Mon, 19 Aug 2019 11:51:08 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/HAWQ-to-HIVE-data-type-mapping/m-p/106614#M25633</guid>
      <dc:creator>khaslbeck</dc:creator>
      <dc:date>2019-08-19T11:51:08Z</dc:date>
    </item>
    <item>
      <title>Re: HAWQ to HIVE data type mapping</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/HAWQ-to-HIVE-data-type-mapping/m-p/106615#M25634</link>
      <description>&lt;P&gt;&lt;A href="https://community.hortonworks.com/users/2977/khaslbeck.html"&gt;@Kirk Haslbeck&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.hortonworks.com/users/2977/khaslbeck.html"&gt;&lt;/A&gt;Interval data type is not supported in Hive, yet. See &lt;A href="https://issues.apache.org/jira/browse/HIVE-5021" target="_blank"&gt;https://issues.apache.org/jira/browse/HIVE-5021&lt;/A&gt;. Until HIVE-5021 feature is added, I would use two BigInt fields in Hive target table: startInterval, endInterval. Queries using these two fields in WHERE clauses would run better, being more appropriate for indexing and fast scan.&lt;/P&gt;&lt;P&gt;For bit[n] in HAWQ, I would use a char, varchar, or string data type in Hive, depends on how big the string needs to be.&lt;/P&gt;</description>
      <pubDate>Mon, 16 May 2016 20:44:39 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/HAWQ-to-HIVE-data-type-mapping/m-p/106615#M25634</guid>
      <dc:creator>cstanca</dc:creator>
      <dc:date>2016-05-16T20:44:39Z</dc:date>
    </item>
  </channel>
</rss>

