Oracle データベースからデータを抽出し、それをリモートの HDFS ファイル システムに転送しようとしています。これを達成するには、いくつかの方法があるようです。
- Sqoop を使用します。このツールはデータを抽出し、ネットワーク経由でコピーして HDFS に直接保存します
- SQL を使用してデータを読み取り、ローカル ファイル システムに保存します。これが完了したら、Hadoop システムにデータをコピー (ftp?) します。
私の質問は、最初の方法 (私にとっては作業が少ない) によって、Oracle が必要以上に長くテーブルをロックする原因になりますか?
私の懸念は、Sqoop がデータのクエリを開始するときにデータベースのロックを解除する可能性があり、このロックはすべてのデータが HDFS にコピーされるまで解放されないということです。大量のデータを抽出してリモートの場所にコピーするため (そのためネットワークの遅延が大きくなります)、ロックは必要以上に長く残ります。