Reputation: 525
Just as the title says, trying to move some data from Redshift
to S3
via Sqoop
:
sqoop-import -Dmapreduce.job.user.classpath.first=true --connect "jdbc:redshift://redshiftinstance.us-east-1.redshift.amazonaws.com:9999/stuffprd;database=ourDB;user=username;password=password;" --table ourtable -m 1 --as-avrodatafile --target-dir s3n://bucket/folder/folder1/
All drivers are in the proper folders however the error being throw is:
ERROR tool.BaseSqoopTool: Got error creating database manager: java.io.IOException: No manager for connect string:
Upvotes: 1
Views: 1263
Reputation: 338
Not sure if you already have got the answer to this, but you need to add the following to your sqoop command:
--driver com.amazon.redshift.jdbc42.Driver
--connection-manager org.apache.sqoop.manager.GenericJdbcManager
Upvotes: 1
Reputation: 14035
I can't help with the error but I recommend you not do it this way. Sqoop will try retrieve the table as SELECT *
and all results will have to pass through the leader node. This will be much slower than using UNLOAD
to export the data directly to S3 in parallel. You can then convert the unloaded text files to Avro using Sqoop.
Upvotes: 0