2016-10-25 3 views
1

OracleからHadoopへのデータ取り込みにSqoopを使用しましたが、うまくいきました。 Sqoop上のパーティションを使用せずにOracleからHiveテーブルに8,600万レコードを持ち込むのにわずか4分しかかかりませんでした。誰でもOracle Hadoopコネクタに関する詳細を提供できますか?Sqoopよりも優れた性能を発揮しますか?Oracle Hadoop Connectors対Sqoop

+0

Oracleのドキュメントに従って:Oracle Loader for Hadoopは、データを前処理するためにHadoopクラスタ上で実行されるMapReduceプログラムです。ロードの準備として、データをOracleデータ型に分割、ソート、変換することができます。これにより、データベース・サイクルがHadoopにオフロードされるため、ロード中にデータベースCPUが少なくなります。オンラインモードでは、前処理されたデータがデータベースに直接ロードされます。オフライン・モードでは、Oracle Loader for Hadoopは、事前処理されたデータをHDFS上のデータ・ポンプ・ファイルとして書き出します。オンラインモードには、JDBCとダイレクトパスという2つの負荷オプションがあります。 –

答えて

0

ほとんどのコネクタは、ワークフローの終わりにMapReduceジョブを設定した場合とほぼ同じパフォーマンスを発揮しますが、これは全体的なパフォーマンスの主な役割を果たすでしょう。

その後、あなたはSqoopで見るOracleはハイブにアクセスするための異なるコネクタのセットを提供し、標準溶液についての素晴らしい概要をチェックすることができますが、私は最後の最後に、あなたが他の重要なパフォーマンスの違いを期待することを疑う:

https://docs.oracle.com/cd/E37231_01/doc.20/e36961/start.htm#BDCUG119

Sqoopは、Hadoop領域のリレーショナルデータベースを操作するための一般的なツールであり、Oracleだけに制限されません。それに加えて、複雑なワークフローを作成するためのOozieのような他のHadoopソリューションとの統合もあり、他のタイプのコネクタより優れた候補になります。

個人的に私は、Hadoopでインポートされたインポート/エクスポート操作と、Hadoopのデータをクエリするためのコネクタアプローチの方がSqoopよりも好きです。

0

Sqoopは標準のJDBC接続を利用します。 Oraclesコネクタは、sqoop接続に統合されたfastloader/fastexportクラスで動作します。それはSqoopより速いはずです。

関連する問題