You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2014/03/27 23:37:01 UTC

svn commit: r1582523 - in /hive/trunk: data/files/sample.json ql/src/java/org/apache/hadoop/hive/ql/exec/mr/MapredLocalTask.java ql/src/test/queries/clientpositive/mapjoin_addjar.q ql/src/test/results/clientpositive/mapjoin_addjar.q.out

Author: hashutosh
Date: Thu Mar 27 22:37:00 2014
New Revision: 1582523

URL: http://svn.apache.org/r1582523
Log:
HIVE-6670 : ClassNotFound with Serde (Abin Shahab, Ashutosh Chauhan via Jason Dere)

Added:
    hive/trunk/data/files/sample.json
    hive/trunk/ql/src/test/queries/clientpositive/mapjoin_addjar.q
    hive/trunk/ql/src/test/results/clientpositive/mapjoin_addjar.q.out
Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/MapredLocalTask.java

Added: hive/trunk/data/files/sample.json
URL: http://svn.apache.org/viewvc/hive/trunk/data/files/sample.json?rev=1582523&view=auto
==============================================================================
--- hive/trunk/data/files/sample.json (added)
+++ hive/trunk/data/files/sample.json Thu Mar 27 22:37:00 2014
@@ -0,0 +1 @@
+{"a" : "2" ,"b" : "blah"}

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/MapredLocalTask.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/MapredLocalTask.java?rev=1582523&r1=1582522&r2=1582523&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/MapredLocalTask.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/MapredLocalTask.java Thu Mar 27 22:37:00 2014
@@ -40,6 +40,7 @@ import org.apache.hadoop.fs.FileUtil;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.common.io.CachingPrintStream;
 import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.ql.Context;
 import org.apache.hadoop.hive.ql.DriverContext;
 import org.apache.hadoop.hive.ql.QueryPlan;
@@ -81,7 +82,7 @@ import org.apache.hadoop.util.Reflection
  */
 public class MapredLocalTask extends Task<MapredLocalWork> implements Serializable {
 
-  private Map<String, FetchOperator> fetchOperators = new HashMap<String, FetchOperator>();
+  private final Map<String, FetchOperator> fetchOperators = new HashMap<String, FetchOperator>();
   protected HadoopJobExecHelper jobExecHelper;
   private JobConf job;
   public static transient final Log l4j = LogFactory.getLog(MapredLocalTask.class);
@@ -138,7 +139,7 @@ public class MapredLocalTask extends Tas
       String hiveJar = conf.getJar();
 
       String hadoopExec = conf.getVar(HiveConf.ConfVars.HADOOPBIN);
-
+      conf.setVar(ConfVars.HIVEADDEDJARS, Utilities.getResourceFiles(conf, SessionState.ResourceType.JAR));
       // write out the plan to a local file
       Path planPath = new Path(ctx.getLocalTmpPath(), "plan.xml");
       OutputStream out = FileSystem.getLocal(conf).create(planPath);
@@ -458,7 +459,7 @@ public class MapredLocalTask extends Tas
     BucketMapJoinContext bucketMatcherCxt = this.work.getBucketMapjoinContext();
 
     Class<? extends BucketMatcher> bucketMatcherCls = bucketMatcherCxt.getBucketMatcherClass();
-    BucketMatcher bucketMatcher = (BucketMatcher) ReflectionUtils.newInstance(bucketMatcherCls,
+    BucketMatcher bucketMatcher = ReflectionUtils.newInstance(bucketMatcherCls,
         null);
     bucketMatcher.setAliasBucketFileNameMapping(bucketMatcherCxt.getAliasBucketFileNameMapping());
 

Added: hive/trunk/ql/src/test/queries/clientpositive/mapjoin_addjar.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/mapjoin_addjar.q?rev=1582523&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/mapjoin_addjar.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/mapjoin_addjar.q Thu Mar 27 22:37:00 2014
@@ -0,0 +1,14 @@
+
+set hive.auto.convert.join=true;
+set hive.auto.convert.join.use.nonstaged=false;
+
+add jar ${system:maven.local.repository}/org/apache/hive/hcatalog/hive-hcatalog-core/${system:hive.version}/hive-hcatalog-core-${system:hive.version}.jar;
+
+CREATE TABLE t1 (a string, b string)
+ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
+;
+LOAD DATA LOCAL INPATH "../../data/files/sample.json" INTO TABLE t1;
+select * from src join t1 on src.key =t1.a;
+drop table t1;
+set hive.auto.convert.join=false;
+

Added: hive/trunk/ql/src/test/results/clientpositive/mapjoin_addjar.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/mapjoin_addjar.q.out?rev=1582523&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/mapjoin_addjar.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/mapjoin_addjar.q.out Thu Mar 27 22:37:00 2014
@@ -0,0 +1,36 @@
+PREHOOK: query: CREATE TABLE t1 (a string, b string)
+ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+POSTHOOK: query: CREATE TABLE t1 (a string, b string)
+ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@t1
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/sample.json" INTO TABLE t1
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@t1
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/sample.json" INTO TABLE t1
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@t1
+PREHOOK: query: select * from src join t1 on src.key =t1.a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@t1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src join t1 on src.key =t1.a
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@t1
+#### A masked pattern was here ####
+2	val_2	2	blah
+PREHOOK: query: drop table t1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@t1
+PREHOOK: Output: default@t1
+POSTHOOK: query: drop table t1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@t1
+POSTHOOK: Output: default@t1