ビッグデータにおけるApacheSparkの役割とそれを際立たせるもの
公開: 2018-05-30Apache Sparkは、ビッグデータを管理するための最初の選択肢であるHadoopのはるかにアクセスしやすく魅力的な代替品として登場しました。 Apache Sparkは、他の高度なビッグデータツールと同様に、非常に強力で、巨大なデータセットに効率的に取り組むための設備が整っています。
このブログ投稿を通じて、ApacheSparkのより細かい点を明確にするのを手伝いましょう。
目次
Apache Sparkとは何ですか?
Sparkは、非常に簡単に言えば、さまざまな状況での使用に適した汎用のデータ処理および処理エンジンです。 データサイエンティストは、Apache Sparkを利用して、クエリ、分析、およびデータの変換を改善します。 Sparkを使用して最も頻繁に実行されるタスクには、大規模なデータセットにわたるインタラクティブなクエリ、センサーやその他のソースからのストリーミングデータの分析と処理、および機械学習タスクが含まれます。
Sparkは、2009年にカリフォルニア大学バークレー校で導入されました。 それは2014年にApacheSoftwareFoundationのインキュベーターに到達し、2014年にFoundationの最高レベルのプロジェクトの1つに昇格しました。 現在、Sparkは財団で最も評価の高いプロジェクトの1つです。 プロジェクトを中心に成長したコミュニティには、多額の個人貢献者と資金の豊富な企業支援者の両方が含まれます。
それが受け入れられた時から、ほとんどのタスクがメモリ内で行われることが確認されました。 したがって、処理の各段階間でハードドライブとの間でデータを書き込むHadoopのMapReduceのような他のアプローチよりも、常に高速で最適化されていました。 Sparkのメモリ内機能により、HadoopのMapReduceの100倍の速度が得られると言われています。 この比較は、真実ではありますが、公平ではありません。 Sparkは速度を念頭に置いて設計されているのに対し、Hadoopはバッチ処理(ストリーム処理ほどの速度を必要としない)用に理想的に開発されたためです。
ApacheStormについて知っておくべきことすべてSparkは何をしますか?
Sparkは、一度にペタバイトのデータを処理できます。 このデータは、物理または仮想の何千もの協調サーバーのクラスター全体に分散されます。 Apache sparkには、Python、R、Scalaなどの一般的に使用されるすべての言語をサポートするライブラリとAPIの広範なセットが付属しています。 SparkはHDFS(Hadoop分散ファイルシステム– Hadoopのデータストレージシステム)でよく使用されますが、他のデータストレージシステムと同等に統合できます。
ApacheSparkの一般的な使用例は次のとおりです。
- Sparkのストリーミングと処理:今日、データの「ストリーム」を管理することは、データの専門家にとって課題です。 このデータは、多くの場合複数のソースから、一度にすべて安定して到着します。 このデータをディスクに保存して遡及的に分析する方法もありますが、これは企業に損失をもたらすことになります。 たとえば、財務データのストリームをリアルタイムで処理して、不正の可能性のあるトランザクションを特定し、拒否することができます。 ApacheSparkはまさにこれを支援します。
- 機械学習:データ量の増加に伴い、MLアプローチもはるかに実現可能で正確になっています。 現在、ソフトウェアは、トリガーを識別してそれに基づいて動作し、同じソリューションを新しい未知のデータに適用するようにトレーニングできます。 データをメモリに保存するApacheSparkの優れた機能は、クエリの高速化に役立ち、MLアルゴリズムのトレーニングに最適です。
- インタラクティブストリーミング分析:ビジネスアナリストとデータサイエンティストは、質問をしてデータを調査したいと考えています。 彼らは、事前に定義されたクエリを使用して、販売、生産ラインの生産性、または株価の静的なダッシュボードを作成することを望んでいません。 このインタラクティブなクエリプロセスには、迅速に応答できるSparkなどのシステムが必要です。
- データ統合:データはさまざまなソースによって生成され、クリーンになることはめったにありません。 ETL(抽出、変換、読み込み)プロセスは、さまざまなシステムからデータをプルし、クリーンアップし、標準化してから、分析のために別のシステムに保存するために実行されることがよくあります。 これに必要なコストと時間を削減するために、Sparkがますます使用されています。
ApacheSparkを使用している企業
さまざまな組織が迅速にサポートし、ApacheSparkと手を組んでいます。 彼らは、Sparkがインタラクティブなクエリや機械学習などの真の価値を提供することに気づきました。
IBMやHuaweiのような有名な企業は、すでにこのテクノロジーにかなりの金額を投資しており、多くの成長中の新興企業がSparkとその周辺で製品を構築しています。 たとえば、2013年にSparkが設立したDatabricksの作成を担当するBerkeleyチーム。Databricksは、Sparkを利用したホスト型のエンドツーエンドのデータプラットフォームを提供します。


すべての主要なHadoopベンダーは、既存の製品とともにSparkをサポートし始めています。 Baidu、eコマースオペレーションのAlibaba Taobao、ソーシャルネットワーキング会社のTencentなどのWeb指向の組織はすべて、Sparkベースのオペレーションを大規模に使用しています。 Apache Sparkのパワーをある程度理解するために、Tencentには8億人のアクティブユーザーがいて、処理のために1日あたり800TBを超えるデータを生成しています。

これらのWebベースの巨人に加えて、ノバルティスのような製薬会社もSparkに依存しています。 Spark Streamingを使用することで、モデリングデータを研究者の手に渡すために必要な時間を短縮しました。
MapReduceのヒッチハイカーガイドSparkを際立たせるものは何ですか?
ApacheSparkがすぐにデータサイエンティストのお気に入りになった主な理由を見てみましょう。
- 柔軟性とアクセシビリティ:このように豊富なAPIのセットを備えているため、Sparkはすべての機能に非常にアクセスしやすいことを保証しています。 これらのAPIはすべて、大規模なデータと迅速かつ効率的にやり取りするように設計されているため、ApacheSparkは非常に柔軟になります。 これらのAPIの完全なドキュメントがあり、非常に明快でわかりやすい方法で書かれています。
- 速度:速度はSparkが設計されているものです。 インメモリまたはディスクの両方。 Databricksのチームは、100TBベンチマークチャレンジにSparkを使用しました。 この課題には、巨大で静的なデータセットの処理が含まれます。 チームは、Sparkを使用してわずか23分でSSDに保存された100TBのデータを処理することができました。 前の勝者はHadoopを使用して72分でそれを行いました。 さらに優れているのは、メモリに格納されているデータのインタラクティブクエリをサポートするときにSparkが適切に機能することです。 このような状況では、ApacheSparkはMapRよりも100倍高速であると言われています。
- サポート:前述のように、Apache Sparkは、Java、Python、Scala、Rなどの有名なプログラミング言語のほとんどをサポートしています。Sparkには、HDFSだけでなく多くのストレージシステムとの緊密な統合もサポートされています。 さらに、Apache Sparkの背後にあるコミュニティは巨大で、活発で、国際的です。
結論
これで、このブログ投稿は終わりです。 ApacheSparkの詳細を楽しんでいただけたでしょうか。 大量のデータセットによってアドレナリンが急増する場合は、Apache Sparkを実際に体験して、自分自身を資産にすることをお勧めします。
ビッグデータについて詳しく知りたい場合は、ビッグデータプログラムのソフトウェア開発スペシャライゼーションのPGディプロマをチェックしてください。このプログラムは、働く専門家向けに設計されており、7つ以上のケーススタディとプロジェクトを提供し、14のプログラミング言語とツール、実践的なハンズオンをカバーしています。ワークショップ、トップ企業との400時間以上の厳格な学習と就職支援。
世界のトップ大学からオンラインでソフトウェア開発コースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。