Repository: sqoop Updated Branches: refs/heads/trunk 03ed21b4f -> fee80ac01
SQOOP-2535: Add error handling to HiveConf (Dian Fu via Jarek Jarcec Cecho) Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/fee80ac0 Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/fee80ac0 Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/fee80ac0 Branch: refs/heads/trunk Commit: fee80ac017b0bbe4120bbdfa75423c370dca342c Parents: 03ed21b Author: Jarek Jarcec Cecho <[email protected]> Authored: Tue Sep 1 13:42:28 2015 +0200 Committer: Jarek Jarcec Cecho <[email protected]> Committed: Tue Sep 1 13:42:28 2015 +0200 ---------------------------------------------------------------------- src/java/org/apache/sqoop/hive/HiveConfig.java | 8 +++++--- src/java/org/apache/sqoop/hive/HiveImport.java | 2 +- src/java/org/apache/sqoop/mapreduce/ParquetJob.java | 16 +++++++++------- 3 files changed, 15 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/sqoop/blob/fee80ac0/src/java/org/apache/sqoop/hive/HiveConfig.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/sqoop/hive/HiveConfig.java b/src/java/org/apache/sqoop/hive/HiveConfig.java index 18a722b..43ac295 100644 --- a/src/java/org/apache/sqoop/hive/HiveConfig.java +++ b/src/java/org/apache/sqoop/hive/HiveConfig.java @@ -22,6 +22,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; +import java.io.IOException; import java.util.Map; public class HiveConfig { @@ -36,8 +37,9 @@ public class HiveConfig { * Dynamically create hive configuration object. * @param conf * @return + * @throws IOException if instantiate HiveConf failed. */ - public static Configuration getHiveConf(Configuration conf) { + public static Configuration getHiveConf(Configuration conf) throws IOException { try { Class HiveConfClass = Class.forName(HIVE_CONF_CLASS); return ((Configuration)(HiveConfClass.getConstructor(Configuration.class, Class.class) @@ -45,11 +47,11 @@ public class HiveConfig { } catch (ClassNotFoundException ex) { LOG.error("Could not load " + HIVE_CONF_CLASS + ". Make sure HIVE_CONF_DIR is set correctly."); + throw new IOException(ex); } catch (Exception ex) { LOG.error("Could not instantiate HiveConf instance.", ex); + throw new IOException(ex); } - - return null; } /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/fee80ac0/src/java/org/apache/sqoop/hive/HiveImport.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/sqoop/hive/HiveImport.java b/src/java/org/apache/sqoop/hive/HiveImport.java index e03d33c..4828375 100644 --- a/src/java/org/apache/sqoop/hive/HiveImport.java +++ b/src/java/org/apache/sqoop/hive/HiveImport.java @@ -385,7 +385,7 @@ public class HiveImport { } } - private String[] getHiveArgs(String... args) { + private String[] getHiveArgs(String... args) throws IOException { List<String> newArgs = new LinkedList<String>(); newArgs.addAll(Arrays.asList(args)); http://git-wip-us.apache.org/repos/asf/sqoop/blob/fee80ac0/src/java/org/apache/sqoop/mapreduce/ParquetJob.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/sqoop/mapreduce/ParquetJob.java b/src/java/org/apache/sqoop/mapreduce/ParquetJob.java index 2ebdea1..b077d9b 100644 --- a/src/java/org/apache/sqoop/mapreduce/ParquetJob.java +++ b/src/java/org/apache/sqoop/mapreduce/ParquetJob.java @@ -89,15 +89,17 @@ public final class ParquetJob { public static void configureImportJob(JobConf conf, Schema schema, String uri, WriteMode writeMode) throws IOException { Dataset dataset; - Configuration hiveConf = HiveConfig.getHiveConf(conf); // Add hive delegation token only if we don't already have one. - if (uri.startsWith("dataset:hive") && isSecureMetastore(hiveConf)) { - // Copy hive configs to job config - HiveConfig.addHiveConfigs(hiveConf, conf); - - if (conf.getCredentials().getToken(new Text(HIVE_METASTORE_TOKEN_ALIAS)) == null) { - addHiveDelegationToken(conf); + if (uri.startsWith("dataset:hive")) { + Configuration hiveConf = HiveConfig.getHiveConf(conf); + if (isSecureMetastore(hiveConf)) { + // Copy hive configs to job config + HiveConfig.addHiveConfigs(hiveConf, conf); + + if (conf.getCredentials().getToken(new Text(HIVE_METASTORE_TOKEN_ALIAS)) == null) { + addHiveDelegationToken(conf); + } } }
