You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by Apache Wiki <wi...@apache.org> on 2009/04/23 10:39:04 UTC

[Hadoop Wiki] Update of "Hive/FAQ" by ZhengShao

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The following page has been changed by ZhengShao:
http://wiki.apache.org/hadoop/Hive/FAQ

------------------------------------------------------------------------------
   1. How to run clientpositive/clientnegative unit tests?
       To run clientpositive tests
-        {{{ ant -Dhadoop.version=0.17.2.1 -Dtestcase=TestCliDriver test }}}
+        {{{ ant -Dhadoop.version=0.17.0 -Dtestcase=TestCliDriver test }}}
  
       To run a single clientnegative test alter1.q
-        {{{ ant -Dhadoop.version=0.17.2.1 -Dtestcase=TestNegativeCliDriver -Dqfile=alter1.q test }}}
+        {{{ ant -Dhadoop.version=0.17.0 -Dtestcase=TestNegativeCliDriver -Dqfile=alter1.q test }}}
   1. How to change the warehouse.dir location for older tables?
       To change the base location of the Hive tables, edit the hive.metastore.warehouse.dir param.
       This will not affect the older tables. Metadata needs to be changed in the database (MySQL or Derby). The location of Hive tables is in table SDS and column LOCATION.
   
+  1. When running a JOIN query, I see some error messages like "java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.Text" 
+      Please cast all your columns to STRING using "CAST(xxx AS STRING)".  This error happens only with JOINs.  It will be fixed soon by HIVE-405.
  
+  1. When running a JOIN query, I see out-of-memory errors.
+      This is usually caused by the order of JOIN tables.  Instead of "FROM tableA a JOIN tableB b ON ...", try "FROM tableB b JOIN tableA a ON ...". NOTE that if you are using LEFT OUTER JOIN, you might want to change to RIGHT OUTER JOIN.  This trick usually solve the problem - the rule of thumb is, always put the table with a lot of rows having the same value for the join key on the rightmost side of the JOIN.
+