2016-10-17 4 views
1

SQOOPが20億レコードを一度に転送できる速度を教えてもらえますか?そして、私はそれが速くなければならないことを知っています。なぜなら、sqoopはパラレルで実行されるため、いくつかの入力が生成され、Hadoopのいくつかのファイル出力も生成されるからです。 1回に20億レコードの速度MapReduce転送量の詳細を知りたい。SQOOPはRDBMSからHadoopにどのくらい高速に転送できますか?

+0

そのジョブに割り当てられているマッパーの数によって異なります。たとえば、スタンドアロン(シングル)プロセスでデータを転送するのに4分かかる場合、4マッパーのSqoopは1分未満で完了します。 –

答えて

1

RDBMSからHadoopへのデータの高速転送を担当するポイントを理解する必要があります。マッパーの

  • 数:

    それは部品にタスクを分割して並列にインポートを実行するため、あなたの速度が向上しますマッパーの数を増やします。マッパーの

  • バランス負荷:

    あなたは(整数を好む)均一である列に分割する必要があります。それはすべてのマッパーにバランスのとれた負荷を与え、転送はより速くなります。 RDBMSからの接続の

  • 数:

    あなたはやみくも(100以上など)のマッパの数を増やすことはできません。あなたのRDBMSは、これらの同時接続を許可する必要があります。そうしないと、RDBMS側からのボトルネックになります。

  • 使用--Directモード:

    直接コネクタは、特定のRDBMS用sqoopによって提供されている場合、あなたはそれを使用する必要があります。転送が速くなります。一言で言えば


、sqoopは、importコマンドを書きながら、自分の心の中でこれらのポイントを維持するレコードの数十億をtranferするより速く十分です。

+0

あなたはネットワークとRDMS自体を制限要因として指摘していませんでした。実際の例ですが、リモートクラスタがあり、帯域幅が限られているため、最大転送速度が制限されます。指摘されているのはそれを助けるだろう。 RDMSも重要です。単一のノードシステムであるか、または分散型システムであり、どれくらい負荷がかかっていますか? – MaxNevermind

+1

@MaxNevermind私はあなたに同意します。あなたは別の答えが他のポイントを言及することができます.. :) –