ビッグデータを処理するために不可欠なHadoopツール



Hadoopは、今日のITの世界で流行語です。この投稿では、ビッグデータを処理するために不可欠なHadoopツールについて説明します。

今日、ITの世界で最も人気のある用語は「Hadoop」です。短期間で、 Hadoop 大幅に成長し、多様なプロジェクトの大規模なコレクションに役立つことが証明されています。 Hadoopコミュニティは急速に進化しており、そのエコシステムにおいて重要な役割を果たしています。





ビッグデータの処理に使用される重要なHadoopツールを見てみましょう。

javaキャストdoubleからint

ambari



アンバリ HortonworksでサポートされているApacheプロジェクトです。これは、ほとんどの標準コンポーネントでクラスターをセットアップするためのウィザードスクリプトを備えたWebベースのGUI(グラフィカルユーザーインターフェイス)を提供します。 Ambariは、Hadoopジョブのすべてのクラスターをプロビジョニング、管理、および監視します。

hdfs-logo

ザ・ HDFS 、Apacheライセンスの下で配布され、複数のノード間でデータ収集を分割するための基本的なフレームワークを提供します。 HDFSでは、大きなファイルはブロックに分割され、複数のノードがファイルのすべてのブロックを保持します。ファイルシステムは、フォールトトレランスと高スループットを組み合わせるように設計されています。安定したストリーミングを維持するために、HDFSのブロックがロードされます。通常、レイテンシを最小限に抑えるためにキャッシュされません。



hbaselogo

HBase は、HDFS上で実行される列指向のデータベース管理システムです。 HBaseアプリケーションは、MapReduceアプリケーションと非常によく似たJavaで記述されています。これはテーブルのセットで構成され、各テーブルには従来のデータベースのように行と列が含まれます。データが大きなテーブルに分類されると、HBaseはデータを保存して検索し、複数のノード間でテーブルを自動的に共有して、MapReduceジョブがローカルで実行できるようにします。 HBaseは、一部のローカル変更に対して限定的な保証を提供します。単一の行で発生する変更は、同時に成功または失敗する可能性があります。

hive

すでにSQLに精通している場合は、Hadoopを使用して活用できます。 ハイブ 。 HiveはFacebookの何人かの人々によって開発されました。 Apache Hiveは、HBase内のすべてのファイルからビットを抽出するプロセスを規制します。 HadoopのHDFSおよび互換性のあるファイルシステムに保存されている大規模なデータセットの分析をサポートします。また、ファイルにアクセスしてコードに必要なスニペットを抽出するHSQL(HiveSQL)と呼ばれるSQLのような言語も提供します。

sqoop

Apache Sqoop 従来のデータベースからHiveまたはHBaseにバルクデータを効率的に転送するように特別に設計されています。また、Hadoopからデータを抽出し、リレーショナルデータベースやエンタープライズデータウェアハウスなどの外部の構造化データストアにエクスポートするためにも使用できます。 Sqoopはコマンドラインツールであり、テーブルとデータストレージレイヤーの間をマッピングし、テーブルをHDFS、HBase、またはHiveの構成可能な組み合わせに変換します。

Pig1

保存されたデータがHadoopに表示される場合、 Apache Pig データに飛び込み、PigLatinと呼ばれる独自の言語で記述されたコードを実行します。 Pig Latinは、データを処理するための抽象化で満たされています。 Pigには、データの平均化、日付の操作、文字列間の違いの検索などの一般的なタスク用の標準関数が付属しています。 Pigを使用すると、標準関数が不足している場合に、UDF(User Defined Function)と呼ばれる言語をユーザーが独自に作成することもできます。

zookeper

Zookeeper は、情報を維持、構成、名前を付け、クラスター全体に分散同期を提供する集中型サービスです。これは、クラスターにファイルシステムのような階層を課し、マシンのすべてのメタデータを格納するため、さまざまなマシンの作業を同期できます。

NoSQL

一部のHadoopクラスターは NoSQL ノードのクラスター全体にデータを格納するための独自のメカニズムを備えたデータストア。これにより、NoSQLデータベースのすべての機能を使用してデータを保存および取得できます。その後、Hadoopを使用して同じクラスターでデータ分析ジョブをスケジュールできます。

mahoutlogo

象使い は、Hadoopクラスターへのデータ分析の多数のアルゴリズム、分類、およびフィルタリングを実装するように設計されています。 K-means、Dirichelet、並列パターン、ベイジアン分類などの標準アルゴリズムの多くは、HadoopスタイルのMapを使用してデータに対して実行し、削減する準備ができています。

Lucene、 Javaで記述され、Hadoopと簡単に統合できるのは、Hadoopの自然なコンパニオンです。これは、非構造化テキストの大きなブロックにインデックスを付けるためのツールです。 Luceneはインデックス作成を処理し、Hadoopはクラスター全体の分散クエリを処理します。 Lucene-Hadoop機能は、新しいプロジェクトが開発されるにつれて急速に進化しています。

Avro

ユーロ は、データを理解するためのスキーマと一緒にデータをバンドルするシリアル化システムです。各パケットにはJSONデータ構造が付属しています。 JSONは、データの解析方法を説明しています。 JSONのヘッダーはデータの構造を指定し、フィールドをマークするためにデータに追加のタグを書き込む必要性を回避できます。出力は、XMLなどの従来の形式よりもかなりコンパクトです。

ジョブは、ステップに分割することで簡略化できます。プロジェクトを複数のHadoopジョブに分割すると、 Oozie それらを正しい順序で処理し始めます。 DAG(Directed Acyclic Graph)で指定されたワークフローを管理し、タイムリーな監視は必要ありません。

GISツール

地理マップの操作は、Hadoopを実行しているクラスターにとって大きな仕事です。 GIS( 地理情報システム )Hadoopプロジェクト用のツールは、Hadoopで実行する地理情報を理解するための最良のJavaベースのツールを採用しています。データベースは座標を使用して地理クエリを処理できるようになり、コードはGISツールを展開できます。

すべてのデータを収集することは、データを保存して分析することと同じです。 Apache Flume 「特別捜査官」を派遣して、HDFSに保存される情報を収集します。収集される情報は、ログファイル、Twitter API、またはWebサイトのスクラップです。これらのデータを連鎖させて分析することができます。

Spark

スパーク は、メモリにキャッシュされたデータを処理するHadoopのように機能する次世代です。その目的は、一般的な実行モデルを使用して、データ分析の実行と書き込みを高速化することです。これにより、任意の演算子グラフを最適化し、インメモリコンピューティングをサポートできるため、Hadoopなどのディスクベースのエンジンよりも高速にデータをクエリできます。

Hadoop上のSQL

クラスター内のすべてのデータのクイックアドホッククエリを実行する必要がある場合は、新しいHadoopジョブを作成できますが、これには時間がかかります。プログラマーがこれをより頻繁に始めたとき、彼らはSQLの単純な言語で書かれたツールを思いついた。これらのツールを使用すると、結果にすばやくアクセスできます。

Apacheドリル

Apache Drillは、ネストされたデータを含む、多数のさまざまなデータソースに低遅延のアドホッククエリを提供します。 GoogleのDremelに触発されたDrillは、10,000台のサーバーに拡張し、ペタバイトのデータを数秒でクエリするように設計されています。

これらは、ビッグデータを処理するために不可欠なHadoopツールです。

質問がありますか?コメント欄にご記入ください。折り返しご連絡いたします。

関連記事:

Hadoop2.0を学ぶための実用的な理由