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 で構成されています。