0

Sqoopを使用してVectorwiseからHiveにテーブルをインポートしようとしています。VectorwiseJDBCドライバーとすべてをダウンロードしました。それは機能していません。

これは私が使用しているコマンドです:sudo -u hdfs sqoop import --driver com.ingres.jdbc.IngresDriver --connect jdbc:ingres://172.16.63.157:VW7 / amit --username ingres -password ingres-テーブル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.IngresDriverjava。 lang.RuntimeException:dbドライバークラスを読み込めませんでした:com.cloudera.sqoop.manager.SqlManager.makeConnection(SqlManager.java:635)のcom.ingres.jdbc.IngresDriver at com.cloudera.sqoop.manager.GenericJdbcManager.getConnection( GenericJdbcManager.java:53)at com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:524)at com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:547)at com.cloudera.sqoop .manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:191)at com.cloudera.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:175)at com.cloudera.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:263)com.cloudera.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1226)at com.cloudera.sqoop.orm.ClassWriter.generate(ClassWriter.java:1051)at com.cloudera.sqoop.tool.CodeGenTool .generateORM(CodeGenTool.java:84)at com.cloudera.sqoop.tool.ImportTool.importTable(ImportTool.java:370)at com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:456)atcom。 cloudera.sqoop.Sqoop.run(Sqoop.java:146)at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:182) com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:221)at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:230)at com.cloudera.sqoop.Sqoop.main(Sqoop.java:239 )。1051)com.cloudera.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:84)at com.cloudera.sqoop.tool.ImportTool.importTable(ImportTool.java:370)at com.cloudera.sqoop.tool.ImportTool .run(ImportTool.java:456)at com.cloudera.sqoop.Sqoop.run(Sqoop.java:146)at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)atcom.cloudera。 sqoop.Sqoop.runSqoop(Sqoop.java:182)at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:221)at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:230)at com.cloudera .sqoop.Sqoop.main(Sqoop.java:239)1051)com.cloudera.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:84)at com.cloudera.sqoop.tool.ImportTool.importTable(ImportTool.java:370)at com.cloudera.sqoop.tool.ImportTool .run(ImportTool.java:456)at com.cloudera.sqoop.Sqoop.run(Sqoop.java:146)at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)atcom.cloudera。 sqoop.Sqoop.runSqoop(Sqoop.java:182)at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:221)at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:230)at com.cloudera .sqoop.Sqoop.main(Sqoop.java:239)hadoop.util.ToolRunner.run(ToolRunner.java:65)at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:182)at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:221)at com .cloudera.sqoop.Sqoop.runTool(Sqoop.java:230)at com.cloudera.sqoop.Sqoop.main(Sqoop.java:239)hadoop.util.ToolRunner.run(ToolRunner.java:65)at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:182)at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:221)at com .cloudera.sqoop.Sqoop.runTool(Sqoop.java:230)at com.cloudera.sqoop.Sqoop.main(Sqoop.java:239)

誰かがここで私を助けてくれたら本当にありがたいです。

前もって感謝します!:)

4

2 に答える 2

0

私はまだ答えとしてコメントすることはできません:

これはドキュメントからの引用です:

Sqoopは、他のJDBC準拠のデータベースで使用できます。まず、インポートするデータベースの種類に適したJDBCドライバーをダウンロードし、クライアントマシンの$ SQOOP_HOME/libディレクトリに.jarファイルをインストールします。(RPMまたはDebianパッケージからインストールした場合、これは/ usr / lib / sqoop / libになります。)各ドライバーの.jarファイルには、ドライバーへのエントリポイントを定義する特定のドライバークラスもあります。たとえば、MySQLのConnector / Jライブラリには、com.mysql.jdbc.Driverのドライバクラスがあります。メインドライバクラスを決定するには、データベースベンダー固有のドキュメントを参照してください。このクラスは、-driverを使用してSqoopへの引数として提供する必要があります。

Sqoopからアクセスできるディレクトリに適切なjarファイルがありますか?

将来的には、使用しているSqoopのバージョンなど、環境についてもう少し情報を提供しておくと、常に役立ちます。

于 2012-06-07T12:18:24.937 に答える
0

さて、私はそれを機能させました。それは単純な許可の問題でした。iijdbc.jarの所有者をhdfsに変更しました。

sudo chown hdfs /usr/lib/sqoop/lib/iijdbc.jar

今それは働いています!:)

これで、Sqoopを使用してVectorwiseテーブルをHiveにインポートできます。素晴らしい!

于 2012-06-08T06:37:38.010 に答える