0

sqoop コマンドを使用して、オラクルからハイブまたは HDFS にデータをインポートしようとしました。うまくいきました。

Java コード内で sqoop を使用したい。stackoverflow のさまざまなリンクからいくつか試してみました。しかし、適切な sqoop.jar ファイルを取得できず、Sqoop.runTool(str); と表示されます。クラスが見つかりません。、これを行う手順を教えてください。このためのJavaコードから始める方法。

ありがとう。

4

1 に答える 1

0

Java プログラムから sqoop コマンドを実行する際の主な問題は、sqoop が必要とするすべてのライブラリーがクラスパス上にあることを確認する必要があることです。ライブラリが見つからない場合、ClassNotFoundException が発生します。Sqoop には、 hadoop ライブラリ、hbase インポートを実行する場合はhbaseライブラリ、ハイブでテーブルを作成する場合はハイブ ライブラリが必要です。また、SQOOP_HOME/lib フォルダーのライブラリーも使用します。

sqoop API を直接呼び出して sqoop インポートを機能させるのは非常に難しい作業です。sqoop.sh コマンドをバイパスしているため、sqoop API を呼び出す前に環境を設定します (必要なライブラリをクラスパスに追加するなど)。

ProcessBuilder.exec()Javaプログラムからsqoop importを実行するために使用することをお勧めします。

于 2013-11-08T08:16:16.273 に答える