SQOOP-931: Integrate HCatalog with Sqoop
[sqoop.git] / src / java / org / apache / sqoop / tool / ImportTool.java
index 2627726..424d9ec 100644 (file)
@@ -653,6 +653,8 @@ public class ImportTool extends com.cloudera.sqoop.tool.BaseSqoopTool {
     toolOptions.addUniqueOptions(getInputFormatOptions());
     toolOptions.addUniqueOptions(getHiveOptions(true));
     toolOptions.addUniqueOptions(getHBaseOptions());
+    toolOptions.addUniqueOptions(getHCatalogOptions());
+    toolOptions.addUniqueOptions(getHCatImportOnlyOptions());
 
     // get common codegen opts.
     RelatedOptions codeGenOpts = getCodeGenOpts(allTables);
@@ -676,7 +678,7 @@ public class ImportTool extends com.cloudera.sqoop.tool.BaseSqoopTool {
       System.out.println("At minimum, you must specify --connect");
     } else {
       System.out.println(
-          "At minimum, you must specify --connect and --table");
+        "At minimum, you must specify --connect and --table");
     }
 
     System.out.println(
@@ -819,6 +821,8 @@ public class ImportTool extends com.cloudera.sqoop.tool.BaseSqoopTool {
       applyInputFormatOptions(in, out);
       applyCodeGenOptions(in, out, allTables);
       applyHBaseOptions(in, out);
+      applyHCatOptions(in, out);
+
     } catch (NumberFormatException nfe) {
       throw new InvalidOptionsException("Error: expected numeric argument.\n"
           + "Try --help for usage.");
@@ -892,7 +896,12 @@ public class ImportTool extends com.cloudera.sqoop.tool.BaseSqoopTool {
         != SqoopOptions.IncrementalMode.None && options.isValidationEnabled()) {
       throw new InvalidOptionsException("Validation is not supported for "
         + "incremental imports but single table only.");
-    }
+    } else if ((options.getTargetDir() != null
+      || options.getWarehouseDir() != null)
+      && options.getHCatTableName() != null) {
+      throw new InvalidOptionsException("--hcatalog-table cannot be used "
+        + " --warehouse-dir or --target-dir options");
+     }
   }
 
   /**
@@ -936,6 +945,7 @@ public class ImportTool extends com.cloudera.sqoop.tool.BaseSqoopTool {
     validateOutputFormatOptions(options);
     validateHBaseOptions(options);
     validateHiveOptions(options);
+    validateHCatalogOptions(options);
   }
 }