web-dev-qa-db-ja.com

FlumeとSqoopの違いは何ですか?

FlumeとSqoopはどちらもデータの移動を目的としていますが、両者の違いは何ですか? FlumeまたはSqoopはどのような条件下で使用する必要がありますか?

20
Cacheing

http://flume.Apache.org/ から

Flumeは、大量のログデータを効率的に収集、集約、および移動するための、分散された信頼性の高い利用可能なサービスです。

Flumeは、ログ、jms、ディレクトリなどのさまざまなソースからデータを収集するのに役立ちます。
大量のデータを収集するように複数の水路エージェントを構成できます。
水平方向にスケーリングします。

http://sqoop.Apache.org/ から

Apache Sqoop(TM)は、Apache Hadoopとリレーショナルデータベースなどの構造化データストアとの間で大量のデータを効率的に転送するために設計されたツールです。

Sqoopは、hadoopと他のデータベース間でデータを移動するのに役立ち、パフォーマンスのためにデータを並行して転送できます。

23
techuser soma

SqoopとFlumeの両方が、ソースからデータを取得し、それをシンクにプッシュします。主な違いは、Flumeはイベント駆動型ですが、Sqoopはそうではありません。

10
Praveen Sripati

Flume:非常に一般的な使用例は、1つのシステム(Webサーバーのバンク)からログデータを収集することです(後で分析するためにHDFSに収集します)。

Sqoop:一方、構造化データストアからHDFSへのデータの一括インポートを実行するために設計されています。単純なユースケースは、夜間のsqoopインポートを実行して、分析のために実稼働DBからHiveデータウェアハウスにその日のデータをロードする組織です。

-決定版ガイドより。

4
rohith

水路:

  Flume is a framework for populating Hadoop with data. Agents are populated 
  throughout ones IT infrastructure – inside web servers, application servers
  and mobile devices, for example – to collect data and integrate it into Hadoop.

Sqoop:

  Sqoop is a connectivity tool for moving data from non-Hadoop data stores – such
  as relational databases and data warehouses – into Hadoop. It allows users to 
  specify the target location inside of Hadoop and instruct Sqoop to move data 
  from Oracle,Teradata or other relational databases to the target. 

完全な Post を見ることができます

4
Sharad
  1. Apache SqoopとApache Flumeは、さまざまな種類のデータソースで動作します。 Flumeは、複数のサーバーからのログファイルなどのhadoop環境で継続的に生成されるストリーミングデータソースで適切に機能します。

一方、Apache Sqoopは、JDBC接続を備えたあらゆる種類のリレーショナルデータベースシステムで適切に動作するように設計されています。

  1. Sqoopは、MongoDBやCassandraなどのNoSQLデータベースからデータをインポートすることもできます。また、直接データ転送またはHiveまたはHDFSも可能です。ApacheSqoopツールを使用してHiveにデータを転送するには、テーブルを作成する必要がありますスキーマはデータベース自体から取得されます。

  2. Apache Flumeでは、データのロードはイベント駆動型ですが、Apache Sqoopではデータのロードはイベント駆動型ではありません。

4.JMSやスプーリングディレクトリなどのさまざまなソースからバルクストリーミングデータを移動する場合は、Flumeが適していますが、データがTeradata、Oracle、MySQL Server、PostgresなどのJDBC互換データベースなどのデータベースにある場合は、Sqoopが最適ですApache Sqoopを使用するのが最適です。

5. Apache Flumeでは、データは複数のチャネルを介してHDFSに流れますが、Apache SqoopではHDFSがデータのインポート先です。

6.Apache Flumeにはエージェントベースのアーキテクチャがあります。つまり、flumeで記述されたコードは、データのフェッチを担当するエージェントとして知られていますが、Apache Sqoopではアーキテクチャはコネクタに基づいています。 Sqoopのコネクタは、さまざまなデータソースと接続し、それに応じてデータを取得する方法を知っています。

最後に、SqoopとFlumeは、異なる目的に特化して開発されているため、同じタスクを達成するために使用することはできません。 Apache Flumeエージェントは、TwitterからのツイートやWebサーバーからのログファイルなどのストリーミングデータを取得するように設計されていますが、Sqoopコネクターは、構造化データソースでのみ動作し、データを取得するように設計されています。

Apache Sqoopは、分散的で信頼性の高い性質と高可用性のバックアップルートにより、Apache Flumeがデータの収集と集約に使用されるデータをすばやくコピーするため、データのインポートや並列データ転送に主に使用されます。

1
Ajeet Singh

スクープ


  • Sqoopは、RDBMSからHDFS/Hive/HBASEへのインポート/エクスポートを実行できます。
  • sqoopは、非構造化または半構造化ではなく、構造化データのみをインポート/エクスポートします。

水路


  • ほとんどが本質的に半構造化および非構造化された複数のソースからストリームデータをインポートします。今Kafkaは水路のより良い代替手段です。
0
Ravindra Phule

SqoopとFlumeはどちらもデータ取り込みのニーズを満たすことを目的としていますが、異なる目的に使用されます。 Apache Flumeは、複数のサーバーからのログファイルなどのhadoop環境で継続的に生成されるストリーミングデータソースに対して適切に機能しますが、Apache SqoopはJDBC接続を備えたRDBMSで適切に機能します。

Sqoopは、実際には、hadoopとその他​​の構造化データストアとの間のバルクデータ転送を目的としています。 Flumeは多くのソースからログデータを収集し、それを収集して、HDFSに書き込みます。

2つのApacheプロジェクトの違いを説明するこの興味深いインフォグラフィックに出会いました SqoopとFlume -

SqoopとFlumeの違い

0
Khushboo Shah