sqoop を使用して、MySQL の 1 TB テーブルを HDFS にインポートしようとしていました。使用したコマンドは次のとおりです。
sqoop import --connect jdbc:mysql://xx.xx.xxx.xx/MyDB --username myuser --password mypass --table mytable --split-by rowkey -m 14
バウンディング vals クエリを実行した後、すべてのマッパーが起動しますが、しばらくすると、タイムアウト (1200 秒) のためにタスクが強制終了されます。これは、select
各マッパーで実行されているクエリの実行にかかる時間が、タイムアウトに設定された時間よりも長くかかるためだと思います (sqoop では 1200 秒のようです)。したがって、ステータスの報告に失敗し、タスクはその後強制終了されます。(100 GB のデータ セットに対しても試しましたが、複数のマッパーのタイムアウトが原因で失敗しました。) 単一のマッパー インポートの場合、フィルター処理された結果セットが必要ないため、正常に動作します。0
sqoop で複数のマッパーを使用しているときに、マップ タスクのタイムアウトをオーバーライドする (または非常に高い値に設定する) 方法はありますか?