SQOOPが20億レコードを一度に転送できる速度を教えてもらえますか?そして、私はそれが速くなければならないことを知っています。なぜなら、sqoopはパラレルで実行されるため、いくつかの入力が生成され、Hadoopのいくつかのファイル出力も生成されるからです。 1回に20億レコードの速度MapReduce転送量の詳細を知りたい。SQOOPはRDBMSからHadoopにどのくらい高速に転送できますか?
答えて
RDBMSからHadoopへのデータの高速転送を担当するポイントを理解する必要があります。マッパーの
数:
それは部品にタスクを分割して並列にインポートを実行するため、あなたの速度が向上しますマッパーの数を増やします。マッパーの
バランス負荷:
あなたは(整数を好む)均一である列に分割する必要があります。それはすべてのマッパーにバランスのとれた負荷を与え、転送はより速くなります。 RDBMSからの接続の
数:
あなたはやみくも(100以上など)のマッパの数を増やすことはできません。あなたのRDBMSは、これらの同時接続を許可する必要があります。そうしないと、RDBMS側からのボトルネックになります。
使用
--Direct
モード:直接コネクタは、特定のRDBMS用sqoopによって提供されている場合、あなたはそれを使用する必要があります。転送が速くなります。一言で言えば
、sqoopは、importコマンドを書きながら、自分の心の中でこれらのポイントを維持するレコードの数十億をtranferするより速く十分です。
あなたはネットワークとRDMS自体を制限要因として指摘していませんでした。実際の例ですが、リモートクラスタがあり、帯域幅が限られているため、最大転送速度が制限されます。指摘されているのはそれを助けるだろう。 RDMSも重要です。単一のノードシステムであるか、または分散型システムであり、どれくらい負荷がかかっていますか? – MaxNevermind
@MaxNevermind私はあなたに同意します。あなたは別の答えが他のポイントを言及することができます.. :) –
そのジョブに割り当てられているマッパーの数によって異なります。たとえば、スタンドアロン(シングル)プロセスでデータを転送するのに4分かかる場合、4マッパーのSqoopは1分未満で完了します。 –