sqoop インポートを使用して、MySQL から HBase にデータを移行しようとしています。私が使用しているコマンドは次のとおりです。
sqoop import --connect jdbc:mysql://hostname/database --username username -P
--query 'SELECT * FROM logs WHERE $CONDITIONS' --split-by log_id -m 4
--hbase-table logs --column-family cf --hbase-create-table
問題は、マップ数を増やすと実行時間が長くなることです。マッパーを増やして並列処理を行うので、理想的には実行時間が実際に減るはずです。
これがパターンです
マップ数 時間(秒) 1 16 2 20 4 29 8 51 10 55 16 82 25 122
上から見ると、マッパーが 1 人しかいない場合に最も時間がかかりません。何が原因でしょうか?どんな助けでも大歓迎です。
私のクラスターは、namenode と 2 つの datanode で構成されています。