我一直在尝试使用Sqoop将一个表从Vectorwise导入到Hive。我下载了Vectorwise JDBC驱动程序和所有。它只是不起作用。
这是我正在使用的命令: sudo -u hdfs sqoop import --driver com.ingres.jdbc.IngresDriver --connect jdbc:ingres://172.16.63.157:VW7 / amit --username ingres -password ingres --table vector_table --hive-table = vector_table --hive-import --create-hive-table -m 1
我收到错误: 12/06/07 22:08:27错误sqoop.Sqoop:运行异常Sqoop:java.lang.RuntimeException:无法加载db驱动程序类:com.ingres.jdbc.IngresDriver java.lang.RuntimeException:无法加载db驱动程序类:com.ingres.jdbc.IngresDriver 在com.cloudera.sqoop.manager.SqlManager.makeConnection(SqlManager.java:635) 在com.cloudera.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:53) 在com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:524) 在com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:547) 在com.cloudera.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:191) 在com.cloudera.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:175) 在com.cloudera.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:263) 在com.cloudera.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1226) 在com.cloudera.sqoop.orm.ClassWriter.generate(ClassWriter.java:1051) 在com.cloudera.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:84) 在com.cloudera.sqoop.tool.ImportTool.importTable(ImportTool.java:370) 在com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:456) 在com.cloudera.sqoop.Sqoop.run(Sqoop.java:146) 在org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 在com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:182) 在com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:221) 在com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:230) 在com.cloudera.sqoop.Sqoop.main(Sqoop.java:239)
如果有人能帮助我,我真的很感激。
提前致谢! :)
答案 0 :(得分:0)
我还不能评论,所以作为答案:
的引用您可以将Sqoop与任何其他符合JDBC的数据库一起使用。第一, 为所需的数据库类型下载相应的JDBC驱动程序 导入,并在$ SQOOP_HOME / lib目录中安装.jar文件 在你的客户端机器上。 (如果你这是/ usr / lib / sqoop / lib 从RPM或Debian软件包安装。)每个驱动程序.jar文件也 有一个特定的驱动程序类,它定义了入口点 驱动程序。例如,MySQL的Connector / J库的驱动程序类为 com.mysql.jdbc.Driver。请参阅特定于供应商的数据库 用于确定主驱动程序类的文档。这门课必须 作为Sqoop的参数提供--driver。
在Sqoop可以访问的目录中是否有正确的jar文件?
对于未来,如果您提供有关您的环境的更多信息(例如您正在使用的Sqoop版本等),也总是有用。
答案 1 :(得分:0)
好的,我明白了。这是一个简单的许可问题。我将iijdbc.jar的所有者更改为hdfs。
sudo chown hdfs /usr/lib/sqoop/lib/iijdbc.jar
现在它正在运作! :)
我现在可以使用Sqoop将我的Vectorwise表导入Hive。太好了!