From f4cc38709692b2e86df6b49ac518921c7600f261 Mon Sep 17 00:00:00 2001 From: Nick Dimiduk Date: Mon, 25 Feb 2013 16:56:03 -0800 Subject: [PATCH] HBASE-7934 TableMapReduceUtil include module dependencies Update TableMapReduceUtil to include all necessary modules as dependency jars for MapReduce jobs. Requires change to pom such that hbase-prefix-tree becomes a compile-time dependency to hbase-server. --- hbase-server/pom.xml | 3 +-- .../org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java | 8 ++++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml index 60623c0..d80530a 100644 --- a/hbase-server/pom.xml +++ b/hbase-server/pom.xml @@ -275,8 +275,7 @@ org.apache.hbase hbase-prefix-tree - - runtime + compile org.apache.hbase diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java index 5d62b8f..3fb952d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java @@ -503,8 +503,16 @@ public class TableMapReduceUtil { public static void addDependencyJars(Job job) throws IOException { try { addDependencyJars(job.getConfiguration(), + // explicitly pull a class from each module + org.apache.hadoop.hbase.HConstants.class, // hbase-common + org.apache.hadoop.hbase.protobuf.generated.ClientProtos.class, // hbase-protocol + org.apache.hadoop.hbase.client.Put.class, // hbase-client + org.apache.hbase.codec.prefixtree.PrefixTreeCodec.class, // hbase-prefix-tree + org.apache.hadoop.hbase.CompatibilityFactory.class, // hbase-hadoop-compat + // pull necessary dependencies org.apache.zookeeper.ZooKeeper.class, com.google.protobuf.Message.class, + // pull job classes job.getMapOutputKeyClass(), job.getMapOutputValueClass(), job.getInputFormatClass(), -- 1.8.1