0

私はhadoopを初めて使用し、sqoopの練習中にこのエラーメッセージが表示されました。使用したコマンドは、import.txtファイルを 作成し、import --connect jdbc:mysql://localhost/hadoopdb --username hadoop -Pこのファイルを使用してHDFSに配置したことです。

インポート中に、コマンドを使用してこのファイルを sqoop ツールに渡しました--options-file。したがって、コマンドプロンプトで指定した最終コマンドは次のとおりです。

sqoop --options-file /user/cloudera/import.txt --table employee

Enterキーを押した後、次のエラーメッセージが表示されました

   sqoop --options-file /user/cloudera/import.txt --table employee
    13/10/16 13:43:12 ERROR sqoop.Sqoop: Error while expanding arguments




java.lang.Exception: Unable to read options file: /user/cloudera/import.txt
    at org.apache.sqoop.util.OptionsFileUtil.expandArguments(OptionsFileUtil.java:102)
    at com.cloudera.sqoop.util.OptionsFileUtil.expandArguments(OptionsFileUtil.java:33)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:201)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
    at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
Caused by: java.io.FileNotFoundException: /user/cloudera/import.txt (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:120)
    at java.io.FileReader.<init>(FileReader.java:55)
    at org.apache.sqoop.util.OptionsFileUtil.expandArguments(OptionsFileUtil.java:70)
    ... 4 more
Unable to read options file: /user/cloudera/import.txt

エラーが発生する理由を誰か教えてください。

前もって感謝します。

4

6 に答える 6

2

--option-file パスはローカル ディレクトリにする必要があります。HDFS ディレクトリを使用しないでください。

 sqoop --options-file /home/cloudera/import.txt --table employee
于 2014-05-05T14:43:31.353 に答える
1

同じ問題が発生しました。次のアプローチを使用して解決しました。オプション ファイルでは、ツール、コマンド、およびそれらの引数を 1 行ずつ記述する必要があります。

あなたの場合、オプションファイル「import.txt」は次のように作成する必要があります

$cat > import.txt
import
--connect
jdbc:mysql://localhost/hadoopdb
--username
hadoop
-P

オプション ファイルを作成したら、これを使用してテーブルをインポートできます。

sqoop --options-file /user/cloudera/import.txt --table employee

これがうまくいくことを願っています。重要なのは、ツールと引数を 1 行ずつ説明する必要があることです。これについてさらに理解するには、このリンクを参照してください

Apache.org による Sqoop ユーザー ガイド

私が間違っている場合は修正してください。

于 2016-03-09T14:39:18.580 に答える