使用Sqoop对Hive进行矢量化

时间:2012-06-07 11:20:47

标签: hive sqoop

我一直在尝试使用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)

如果有人能帮助我,我真的很感激。

提前致谢! :)

2 个答案:

答案 0 :(得分:0)

我还不能评论,所以作为答案:

这是documentation

的引用
  

您可以将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。太好了!