Hi Sqoop Users and Developers,

Am trying to run Sqoop import using direct mode on Netezza 7.2 using Sqoop 1.4.4 HDP-2.1.2.0.

export HADOOP_CLASSPATH=/path/to/nzjdbc.jar

Sqoop Command : sqoop import -D mapreduce.job.queuename=some_queue --connect jdbc:netezza://some.server.com:5480/DB1 --username abcd --password xxxxxx --table TABLE_1 --target-dir /tmp/NETEZZA_DIRECT_IMPORT --direct -m 1

The job never fails and runs endlessly. When I looked into the logs of running map task in resource manager, below is what I found:

2015-05-06 07:21:48,159 ERROR [Thread-15] org.apache.sqoop.mapreduce.db.netezza.NetezzaJDBCStatementRunner: Unable to execute external table export
org.netezza.error.NzSQLException: ERROR:  CREATE EXTERNAL TABLE: permission denied.

	at org.netezza.internal.QueryExecutor.getNextResult(QueryExecutor.java:279)
	at org.netezza.internal.QueryExecutor.execute(QueryExecutor.java:73)
	at org.netezza.sql.NzConnection.execute(NzConnection.java:2715)
	at org.netezza.sql.NzStatement._execute(NzStatement.java:849)
	at org.netezza.sql.NzPreparedStatament.execute(NzPreparedStatament.java:152)
	at org.apache.sqoop.mapreduce.db.netezza.NetezzaJDBCStatementRunner.run(NetezzaJDBCStatementRunner.java:75)

Why is the user trying to create External table? Is this how direct import works? So the user running direct import should have create external table access into Netezza DB?

Any pointers and suggestions are well appreciated!

--
Thanks
Suraj Nayak M