Bharath created SQOOP-3234:
------------------------------

             Summary: Using Sqoop API with hive import option fails while 
loading imported data into hive
                 Key: SQOOP-3234
                 URL: https://issues.apache.org/jira/browse/SQOOP-3234
             Project: Sqoop
          Issue Type: Bug
    Affects Versions: 1.4.6
            Reporter: Bharath


I am trying to execute Sqoop from a java program leveraging the *SqoopOptions* 
and *ImportTool* packages to import a table from a postgres database onto a 
hive table. Running the sqoop command from command line works perfectly fine 
and imports the table into hive. The problem I am facing with leveraging the 
Sqoop APIs is that after the map tasks finish and loads data onto hdfs 
directory, the step where loading of data into hive managed table happens, hive 
complains that the directory "file:/user/hive/warehouse/lineitem" doesn't 
exist. From the error message, it is clear that hive is looking for the 
directory "/user/hive/warehouse/lineitem" on my local filesystem instead of 
hdfs even though I provided all the necessary conf files before invoking sqoop. 

Here is a miniature version of the sqoop program I am using:

{code:java}
import com.cloudera.sqoop.SqoopOptions;
import com.cloudera.sqoop.tool.ImportTool;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;

public class sqoopexperiments {

    protected static Configuration getConfiguration() {

        Configuration conf = new Configuration();

        conf.addResource(new 
Path("/usr/local/Cellar/hadoop/2.7.2/libexec/etc/hadoop/core-site.xml"));
        conf.addResource(new 
Path("/usr/local/Cellar/hadoop/2.7.2/libexec/etc/hadoop/yarn-site.xml"));
        conf.addResource(new 
Path("/usr/local/Cellar/hadoop/2.7.2/libexec/etc/hadoop/hdfs-site.xml"));
        conf.addResource(new 
Path("/usr/local/Cellar/hadoop/2.7.2/libexec/etc/hadoop/mapred-site.xml"));
        conf.addResource(new 
Path("/usr/local/Cellar/hive/1.2.1/libexec/conf/hive-site.xml"));

        return conf;
    }

    private static SqoopOptions SqoopOptions = new 
SqoopOptions(getConfiguration());
    private static final String connectionString = 
"jdbc:postgresql://127.0.0.1:5432/sales";
    private static final String username = "unifi";
    private static final String password = "unifi";

    private static int executeSqoop() {
        int retCode;
        retCode = new ImportTool().run(SqoopOptions);
        if (retCode != 0) {
            throw new RuntimeException("Sqoop execution failure. Return code : 
"+Integer.toString(retCode));
        }
        return retCode;
    }

    public static void main(String[] args) {

        SqoopOptions.setConnectString(connectionString);
        SqoopOptions.setUsername(username);
        SqoopOptions.setPassword(password);
        SqoopOptions.setTableName("lineitem");
        SqoopOptions.setTargetDir("/user/unifi/tmp/testsqoop/1");
        SqoopOptions.setHiveImport(true);

        executeSqoop();
    }
}
{code}

Here is the output of my program execution:

{code}
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java 
-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:64590,suspend=y,server=n 
-Dfile.encoding=UTF-8 -classpath 
"/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/charsets.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/deploy.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/ext/dnsns.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/ext/localedata.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/ext/nashorn.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/ext/sunec.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/ext/zipfs.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/javaws.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jce.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jfr.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jfxswt.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jsse.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/management-agent.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/plugin.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/resources.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/rt.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/ant-javafx.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/dt.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/javafx-mx.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/jconsole.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/packager.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/sa-jdi.jar:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/tools.jar:
/Users/bharath/dev/sqoopexperiments/out/production/sqoopexperiments:
/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/hadoop-common-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/activation-1.1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/apacheds-i18n-2.0.0-M15.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/apacheds-kerberos-codec-2.0.0-M15.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/api-asn1-api-1.0.0-M20.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/api-util-1.0.0-M20.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/asm-3.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/avro-1.7.4.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-beanutils-1.7.0.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-beanutils-core-1.8.0.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-cli-1.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-codec-1.4.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-collections-3.2.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-compress-1.4.1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-configuration-1.6.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-digester-1.8.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-httpclient-3.1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-io-2.4.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-lang-2.6.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-logging-1.1.3.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-math3-3.1.1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/commons-net-3.1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/curator-client-2.7.1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/curator-framework-2.7.1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/curator-recipes-2.7.1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/gson-2.2.4.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/guava-11.0.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/hadoop-annotations-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/hadoop-auth-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/hamcrest-core-1.3.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/htrace-core-3.1.0-incubating.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/httpclient-4.2.5.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/httpcore-4.2.5.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jackson-core-asl-1.9.13.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jackson-jaxrs-1.9.13.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jackson-mapper-asl-1.9.13.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jackson-xc-1.9.13.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/java-xmlbuilder-0.4.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jaxb-api-2.2.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jaxb-impl-2.2.3-1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jersey-core-1.9.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jersey-json-1.9.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jersey-server-1.9.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jets3t-0.9.0.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jettison-1.1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jetty-6.1.26.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jetty-util-6.1.26.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jsch-0.1.42.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jsp-api-2.1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/jsr305-3.0.0.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/junit-4.11.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/log4j-1.2.17.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/mockito-all-1.8.5.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/netty-3.6.2.Final.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/paranamer-2.3.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/protobuf-java-2.5.0.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/servlet-api-2.5.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/slf4j-api-1.7.10.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/snappy-java-1.0.4.1.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/stax-api-1.0-2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/xmlenc-0.52.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/xz-1.0.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/zookeeper-3.4.6.jar:/usr/local/Cellar/sqoop/1.4.6/libexec/sqoop-1.4.6.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-app-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-common-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-hs-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-hs-plugins-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.2-tests.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-shuffle-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/hdfs/hadoop-hdfs-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-api-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-applications-distributedshell-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-applications-unmanaged-am-launcher-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-client-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-common-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-registry-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-server-applicationhistoryservice-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-server-common-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-server-nodemanager-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-server-resourcemanager-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-server-sharedcachemanager-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-server-tests-2.7.2.jar:/usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/yarn/hadoop-yarn-server-web-proxy-2.7.2.jar:/usr/local/Cellar/sqoop/1.4.6/libexec/lib/postgresql-9.3-1102.jdbc4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/accumulo-core-1.6.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/accumulo-fate-1.6.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/accumulo-start-1.6.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/accumulo-trace-1.6.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/activation-1.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/ant-1.9.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/ant-launcher-1.9.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/antlr-2.7.7.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/antlr-runtime-3.4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/apache-log4j-extras-1.2.17.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/asm-commons-3.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/asm-tree-3.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/avro-1.7.5.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/bonecp-0.8.0.RELEASE.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/calcite-avatica-1.2.0-incubating.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/calcite-core-1.2.0-incubating.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/calcite-linq4j-1.2.0-incubating.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-beanutils-1.7.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-beanutils-core-1.8.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-cli-1.2.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-codec-1.4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-collections-3.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-compiler-2.7.6.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-compress-1.4.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-configuration-1.6.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-dbcp-1.4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-digester-1.8.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-httpclient-3.0.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-io-2.4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-lang-2.6.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-logging-1.1.3.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-math-2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-pool-1.5.4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/commons-vfs2-2.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/curator-client-2.6.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/curator-framework-2.6.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/curator-recipes-2.6.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/datanucleus-api-jdo-3.2.6.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/datanucleus-core-3.2.10.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/datanucleus-rdbms-3.2.9.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/derby-10.10.2.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/eigenbase-properties-1.1.5.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/geronimo-annotation_1.0_spec-1.1.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/geronimo-jaspic_1.0_spec-1.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/geronimo-jta_1.1_spec-1.1.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/groovy-all-2.1.6.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/guava-14.0.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hamcrest-core-1.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-accumulo-handler-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-ant-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-beeline-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-cli-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-common-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-contrib-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-exec-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-hbase-handler-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-hwi-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-jdbc-1.2.1-standalone.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-jdbc-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-metastore-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-serde-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-service-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-shims-0.20S-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-shims-0.23-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-shims-common-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-shims-scheduler-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-testutils-1.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/httpclient-4.4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/httpcore-4.4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/ivy-2.4.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/janino-2.7.6.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/jcommander-1.32.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/jdo-api-3.0.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/jetty-all-7.6.0.v20120127.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/jetty-all-server-7.6.0.v20120127.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/jline-2.12.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/joda-time-2.5.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/jpam-1.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/json-20090211.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/jsr305-3.0.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/jta-1.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/junit-4.11.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/libfb303-0.9.2.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/libthrift-0.9.2.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/log4j-1.2.16.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/mail-1.4.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/maven-scm-api-1.4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/maven-scm-provider-svn-commons-1.4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/maven-scm-provider-svnexe-1.4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/netty-3.7.0.Final.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/opencsv-2.3.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/oro-2.0.8.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/paranamer-2.3.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/parquet-hadoop-bundle-1.6.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/plexus-utils-1.5.6.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/postgresql-9.3-1102.jdbc4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/regexp-1.3.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/servlet-api-2.5.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/snappy-java-1.0.5.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/ST4-4.0.4.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/stax-api-1.0.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/stringtemplate-3.2.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/super-csv-2.2.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/tempus-fugit-1.1.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/velocity-1.5.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/xz-1.0.jar:/usr/local/Cellar/hive/1.2.1/libexec/lib/zookeeper-3.4.6.jar:/Applications/IntelliJ
 IDEA.app/Contents/lib/idea_rt.jar" sqoopexperiments
Connected to the target VM, address: '127.0.0.1:64590', transport: 'socket'
2017-09-03 12:25:28,072 WARN  [main] sqoop.ConnFactory 
(ConnFactory.java:loadManagersFromConfDir(273)) - $SQOOP_CONF_DIR has not been 
set in the environment. Cannot check for additional configuration.
2017-09-03 12:25:28,199 INFO  [main] manager.SqlManager 
(SqlManager.java:initOptionDefaults(98)) - Using default fetchSize of 1000
2017-09-03 12:25:30,085 INFO  [main] tool.CodeGenTool 
(CodeGenTool.java:generateORM(92)) - Beginning code generation
2017-09-03 12:25:30,198 INFO  [main] manager.SqlManager 
(SqlManager.java:execute(757)) - Executing SQL statement: SELECT t.* FROM 
"lineitem" AS t LIMIT 1
2017-09-03 12:25:30,232 INFO  [main] orm.CompilationManager 
(CompilationManager.java:findHadoopJars(85)) - $HADOOP_MAPRED_HOME is not set
Note: /tmp/sqoop-bharath/compile/0df909eb6973527d155c8c591a072c5e/lineitem.java 
uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2017-09-03 12:25:31,464 INFO  [main] orm.CompilationManager 
(CompilationManager.java:jar(330)) - Writing jar file: 
/tmp/sqoop-bharath/compile/0df909eb6973527d155c8c591a072c5e/lineitem.jar
2017-09-03 12:25:31,471 WARN  [main] manager.PostgresqlManager 
(PostgresqlManager.java:importTable(119)) - It looks like you are importing 
from postgresql.
2017-09-03 12:25:31,471 WARN  [main] manager.PostgresqlManager 
(PostgresqlManager.java:importTable(120)) - This transfer can be faster! Use 
the --direct
2017-09-03 12:25:31,471 WARN  [main] manager.PostgresqlManager 
(PostgresqlManager.java:importTable(121)) - option to exercise a 
postgresql-specific fast path.
2017-09-03 12:25:31,475 WARN  [main] manager.CatalogQueryManager 
(CatalogQueryManager.java:getPrimaryKey(239)) - The table lineitem contains a 
multi-column primary key. Sqoop will default to the column l_orderkey only for 
this job.
2017-09-03 12:25:31,476 WARN  [main] manager.CatalogQueryManager 
(CatalogQueryManager.java:getPrimaryKey(239)) - The table lineitem contains a 
multi-column primary key. Sqoop will default to the column l_orderkey only for 
this job.
2017-09-03 12:25:31,476 INFO  [main] mapreduce.ImportJobBase 
(ImportJobBase.java:runImport(235)) - Beginning import of lineitem
2017-09-03 12:25:31,651 WARN  [main] util.NativeCodeLoader 
(NativeCodeLoader.java:<clinit>(62)) - Unable to load native-hadoop library for 
your platform... using builtin-java classes where applicable
2017-09-03 12:25:31,680 INFO  [main] Configuration.deprecation 
(Configuration.java:warnOnceIfDeprecated(1173)) - mapred.jar is deprecated. 
Instead, use mapreduce.job.jar
2017-09-03 12:25:32,243 INFO  [main] Configuration.deprecation 
(Configuration.java:warnOnceIfDeprecated(1173)) - mapred.map.tasks is 
deprecated. Instead, use mapreduce.job.maps
2017-09-03 12:25:32,244 WARN  [main] mapreduce.JobBase 
(JobBase.java:cacheJars(179)) - SQOOP_HOME is unset. May not be able to find 
all job dependencies.
2017-09-03 12:25:32,308 INFO  [main] client.RMProxy 
(RMProxy.java:createRMProxy(98)) - Connecting to ResourceManager at 
/0.0.0.0:8032
2017-09-03 12:25:32,676 WARN  [main] mapreduce.JobResourceUploader 
(JobResourceUploader.java:uploadFiles(64)) - Hadoop command-line option parsing 
not performed. Implement the Tool interface and execute your application with 
ToolRunner to remedy this.
2017-09-03 12:25:32,916 INFO  [main] db.DBInputFormat 
(DBInputFormat.java:setTxIsolation(192)) - Using read commited transaction 
isolation
2017-09-03 12:25:32,917 INFO  [main] db.DataDrivenDBInputFormat 
(DataDrivenDBInputFormat.java:getSplits(147)) - BoundingValsQuery: SELECT 
MIN("l_orderkey"), MAX("l_orderkey") FROM "lineitem"
2017-09-03 12:25:32,947 INFO  [main] mapreduce.JobSubmitter 
(JobSubmitter.java:submitJobInternal(198)) - number of splits:4
2017-09-03 12:25:33,022 INFO  [main] mapreduce.JobSubmitter 
(JobSubmitter.java:printTokens(287)) - Submitting tokens for job: 
job_1504463611328_0004
2017-09-03 12:25:33,291 INFO  [main] impl.YarnClientImpl 
(YarnClientImpl.java:submitApplication(273)) - Submitted application 
application_1504463611328_0004
2017-09-03 12:25:33,334 INFO  [main] mapreduce.Job (Job.java:submit(1294)) - 
The url to track the job: 
http://Bharaths-MacBook-Pro.local:8088/proxy/application_1504463611328_0004/
2017-09-03 12:25:33,335 INFO  [main] mapreduce.Job 
(Job.java:monitorAndPrintJob(1339)) - Running job: job_1504463611328_0004
2017-09-03 12:25:39,430 INFO  [main] mapreduce.Job 
(Job.java:monitorAndPrintJob(1360)) - Job job_1504463611328_0004 running in 
uber mode : false
2017-09-03 12:25:39,431 INFO  [main] mapreduce.Job 
(Job.java:monitorAndPrintJob(1367)) -  map 0% reduce 0%
2017-09-03 12:25:43,479 INFO  [main] mapreduce.Job 
(Job.java:monitorAndPrintJob(1367)) -  map 25% reduce 0%
2017-09-03 12:25:45,495 INFO  [main] mapreduce.Job 
(Job.java:monitorAndPrintJob(1367)) -  map 50% reduce 0%
2017-09-03 12:25:46,504 INFO  [main] mapreduce.Job 
(Job.java:monitorAndPrintJob(1367)) -  map 75% reduce 0%
2017-09-03 12:25:47,513 INFO  [main] mapreduce.Job 
(Job.java:monitorAndPrintJob(1367)) -  map 100% reduce 0%
2017-09-03 12:25:47,520 INFO  [main] mapreduce.Job 
(Job.java:monitorAndPrintJob(1378)) - Job job_1504463611328_0004 completed 
successfully
2017-09-03 12:25:47,597 INFO  [main] mapreduce.Job 
(Job.java:monitorAndPrintJob(1385)) - Counters: 30
        File System Counters
                FILE: Number of bytes read=0
                FILE: Number of bytes written=486880
                FILE: Number of read operations=0
                FILE: Number of large read operations=0
                FILE: Number of write operations=0
                HDFS: Number of bytes read=485
                HDFS: Number of bytes written=8508828
                HDFS: Number of read operations=16
                HDFS: Number of large read operations=0
                HDFS: Number of write operations=8
        Job Counters 
                Launched map tasks=4
                Other local map tasks=4
                Total time spent by all maps in occupied slots (ms)=12656
                Total time spent by all reduces in occupied slots (ms)=0
                Total time spent by all map tasks (ms)=12656
                Total vcore-milliseconds taken by all map tasks=12656
                Total megabyte-milliseconds taken by all map tasks=12959744
        Map-Reduce Framework
                Map input records=60175
                Map output records=60175
                Input split bytes=485
                Spilled Records=0
                Failed Shuffles=0
                Merged Map outputs=0
                GC time elapsed (ms)=204
                CPU time spent (ms)=0
                Physical memory (bytes) snapshot=0
                Virtual memory (bytes) snapshot=0
                Total committed heap usage (bytes)=553648128
        File Input Format Counters 
                Bytes Read=0
        File Output Format Counters 
                Bytes Written=8508828
2017-09-03 12:25:47,602 INFO  [main] mapreduce.ImportJobBase 
(ImportJobBase.java:runJob(184)) - Transferred 8.1147 MB in 15.3528 seconds 
(541.2293 KB/sec)
2017-09-03 12:25:47,604 INFO  [main] mapreduce.ImportJobBase 
(ImportJobBase.java:runJob(186)) - Retrieved 60175 records.
2017-09-03 12:25:47,611 INFO  [main] manager.SqlManager 
(SqlManager.java:execute(757)) - Executing SQL statement: SELECT t.* FROM 
"lineitem" AS t LIMIT 1
2017-09-03 12:25:47,615 WARN  [main] hive.TableDefWriter 
(TableDefWriter.java:getCreateTableStmt(188)) - Column l_quantity had to be 
cast to a less precise type in Hive
2017-09-03 12:25:47,615 WARN  [main] hive.TableDefWriter 
(TableDefWriter.java:getCreateTableStmt(188)) - Column l_extendedprice had to 
be cast to a less precise type in Hive
2017-09-03 12:25:47,615 WARN  [main] hive.TableDefWriter 
(TableDefWriter.java:getCreateTableStmt(188)) - Column l_discount had to be 
cast to a less precise type in Hive
2017-09-03 12:25:47,615 WARN  [main] hive.TableDefWriter 
(TableDefWriter.java:getCreateTableStmt(188)) - Column l_tax had to be cast to 
a less precise type in Hive
2017-09-03 12:25:47,615 WARN  [main] hive.TableDefWriter 
(TableDefWriter.java:getCreateTableStmt(188)) - Column l_shipdate had to be 
cast to a less precise type in Hive
2017-09-03 12:25:47,615 WARN  [main] hive.TableDefWriter 
(TableDefWriter.java:getCreateTableStmt(188)) - Column l_commitdate had to be 
cast to a less precise type in Hive
2017-09-03 12:25:47,615 WARN  [main] hive.TableDefWriter 
(TableDefWriter.java:getCreateTableStmt(188)) - Column l_receiptdate had to be 
cast to a less precise type in Hive
2017-09-03 12:25:47,637 INFO  [main] hive.HiveImport 
(HiveImport.java:importTable(194)) - Loading uploaded data into Hive

Logging initialized using configuration in 
jar:file:/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-common-1.2.1.jar!/hive-log4j.properties
FAILED: Execution Error, return code 1 from 
org.apache.hadoop.hive.ql.exec.DDLTask. 
MetaException(message:file:/user/hive/warehouse/lineitem is not a directory or 
unable to create one)
Disconnected from the target VM, address: '127.0.0.1:64590', transport: 'socket'
Exception in thread "main" java.lang.RuntimeException: Sqoop execution failure. 
Return code : 1
        at sqoopexperiments.executeSqoop(sqoopexperiments.java:30)
        at sqoopexperiments.main(sqoopexperiments.java:44)

Process finished with exit code 1
{code}

Notice that everything works perfectly fine until the "Loading uploaded data 
into Hive" stage. Stepping through the call stack using debugger, I discovered 
the reason for the failure. The problem is in "executeScript" method of 
org/apache/sqoop/hive/HiveImport.class. When the control reaches this point, 
the temporary hive script contains this line of contents exactly as expected:

{code}
CREATE TABLE IF NOT EXISTS `lineitem` ( `l_orderkey` INT, `l_partkey` INT, 
`l_suppkey` INT, `l_linenumber` INT, `l_quantity` DOUBLE, `l_extendedprice` 
DOUBLE, `l_discount` DOUBLE, `l_tax` DOUBLE, `l_returnflag` STRING, 
`l_linestatus` STRING, `l_shipdate` STRING, `l_commitdate` STRING, 
`l_receiptdate` STRING, `l_shipinstruct` STRING, `l_shipmode` STRING, 
`l_comment` STRING) COMMENT 'Imported by sqoop on 2017/09/03 12:25:47' ROW 
FORMAT DELIMITED FIELDS TERMINATED BY '\054' LINES TERMINATED BY '\012' STORED 
AS TEXTFILE;
LOAD DATA INPATH 'hdfs://localhost:9000/user/unifi/tmp/testsqoop/1' INTO TABLE 
`lineitem`;
{code}

There is this block of code which determines how to execute this temporary hive 
script in executeScript method of HiveImport.class file:

{code}
try {
                Class ite = 
Class.forName("org.apache.hadoop.hive.cli.CliDriver");
                LOG.debug("Using in-process Hive instance.");
                subprocessSM = new SubprocessSecurityManager();
                subprocessSM.install();
                String[] cause1 = new String[]{"-f", filename};
                Method ese1 = ite.getMethod("main", new 
Class[]{cause1.getClass()});
                ese1.invoke((Object)null, new Object[]{cause1});
            } catch (ClassNotFoundException var14) {
                LOG.debug("Using external Hive process.");
                this.executeExternalHiveScript(filename, env);
            }
{code}

If Hive CLI driver related jars are in my classpath, the program tries to 
invoke this line "ese1.invoke((Object)null, new Object[]{cause1});" and after 
this stage it looses all the hadoop configuration context (hdfs-site, 
yarn-site, mapred-site, hive-site configs) it carried until this far and 
resorts to a default configuration because of this code in 
/usr/local/Cellar/hive/1.2.1/libexec/lib/hive-cli-1.2.1.jar!/org/apache/hadoop/hive/cli/CliDriver.class:

{code}
    public CliDriver() {
        SessionState ss = SessionState.get();
        this.conf = (Configuration)(ss != null?ss.getConf():new 
Configuration());
        Log LOG = LogFactory.getLog("CliDriver");
        if(LOG.isDebugEnabled()) {
            LOG.debug("CliDriver inited with classpath " + 
System.getProperty("java.class.path"));
        }

        this.console = new LogHelper(LOG);
    }
{code}

I don't fully understand what this "SessionState" is and why it is null here. 
This causes a new Configuration() to be generated which results in all my 
hadoop configuration being lost and hence it looks for the 
"/user/hive/warehouse/lineitem" directory on my local file system instead of 
hdfs.

If I remove the "hive-cli-1.2.1.jar" from my classpath, the HiveImport program 
takes the route of executing hive script using the hive binary on my system and 
in this mode the hive table gets created properly:

{code}
    private void executeExternalHiveScript(String filename, List<String> env) 
throws IOException {
        String hiveExec = this.getHiveBinPath();
        ArrayList args = new ArrayList();
        args.add(hiveExec);
        args.add("-f");
        args.add(filename);
        LoggingAsyncSink logSink = new LoggingAsyncSink(LOG);
        int ret = Executor.exec((String[])args.toArray(new String[0]), 
(String[])env.toArray(new String[0]), logSink, logSink);
        if(0 != ret) {
            throw new IOException("Hive exited with status " + ret);
        }
    }
{code}

My intention is to execute sqoop import to hive from java by prepackaging all 
the necessary hadoop jars without the need for hadoop binaries (hdfs, mapred, 
hive etc) to be present on my system. Stepping though the debugger, it appears 
to me that there is some bug which is causing all the hadoop configs to be lost 
when sqoop reaches Hive execution stage and executes via 
org.apache.hadoop.hive.cli.CliDriver.

Hoping that somebody has attempted to do hive imports via sqoop in this fashion 
and figured out a solution or a workaround.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to