2017-04-18 11 views
0

私は以下のテーブルを持っています:MYSQLのmergetab。Sqoop増分インポートに失敗する

id | name  | city  | rectime    | 
---+-----------+-------------+---------------------+ 
1 | Sidhartha | Hyderabad | 2017-04-18 15:31:22 | 
2 | Saketh | Bengaluru | 2017-04-18 15:32:37 | 
3 | Sunny  | Mumbai  | 2017-04-18 15:32:57 | 
4 | Bobby  | Delhi  | 2017-04-18 15:33:15 | 

私はそれにレコードを挿入して、それは以下のようになります。次のコマンドを使用してsqoop増分インポートをしようと

id | name  | city  | rectime    | 
---+-----------+-------------+---------------------+ 
1 | Sidhartha | Hyderabad | 2017-04-18 15:31:22 | 
2 | Saketh | Bengaluru | 2017-04-18 15:32:37 | 
3 | Sunny  | Mumbai  | 2017-04-18 15:32:57 | 
4 | Bobby  | Delhi  | 2017-04-18 15:33:15 | 
5 | Madhavi | Dharmavaram | 2017-04-18 16:57:09 | 

イム:

sqoop import --connect jdbc:mysql://127.0.0.1/mydb --table mergetab --username root --password cloudera --hive-import --hive-table mergetab --incremental-append --check-column id --last-value $(hive -S -e "select max(id) from mergetab"); 

イム取得私のsqoopコマンドで何が間違っているのか理解できなかったエラーが発生しました。 エラー:

17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Error parsing arguments for import: 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: WARN: 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: The 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: method 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: class 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: org.apache.commons.logging.impl.SLF4JLogFactory#release() 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: was 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: invoked. 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: WARN: 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: Please 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: see 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: http://www.slf4j.org/codes.html#release 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: for 
17/04/18 17:35:26 ERROR tool.BaseSqoopTool: Unrecognized argument: an 

これをCloudera VMで実践しています。誰でも私がここでやっている間違いは何かを教えてもらえますか?

+0

に割り当てられた値を取得するには、以下のように、あなたはshowHeaderoutputformatとビーラインを使用することができます。.. .wtf ... "コマンドを地獄、それはどのような種類の迷惑が発生しているかを確認しますか? –

+0

私は試しました。 FAILED:ParseException行1:0が 'hive' ' - ' 'S'の近くの入力を認識できません。 「-S」がなくても、同じエラーメッセージが表示されます。 – Sidhartha

答えて

1
あなたのコード行 --last-value $(hive -S -e "select max(id) from mergetab")との問題がある

、ハイブは常に印刷ヘッダー/でもサイレントモードでログ情報を、その最後の値は、常に値のようになります - あなたは、いくつかのツイストを書くためにどちらかの必要

SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/usr/local/Cellar/hive/2.1.0/libexec/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/usr/local/Cellar/hadoop/2.7.3/libexec/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] 
5 

シェルスクリプトは、最後の行を抽出するか、単に直接あなたは、単に `ハイブ-S -e」ことを実行しようとしたの変数

--last value $(beeline --showHeader=false --outputformat=tsv2 -e "your query") 
+0

私は最後の値でこれを与えました:--last-value $(beeline --showHeader = false --outputformat = tsv2 -e "mergetabから最大値を選択") エラーメッセージが表示されています: $ ACCUMULO_HOMEを設定してくださいAccumuloのインストールのルートに移動します。 17/04/21 12:40:22 INFO sqoop.Sqoop:Running Sqoopバージョン:1.4.6-cdh5.8.0 オプションの引数がありません:last-value – Sidhartha

+0

これは私が思うように警告しています。それを消すには、$ ACCUMULO_HOMEを設定する必要があります – Pushkr

関連する問題