ゲストブログ：Apache SparkはどのようにHadoopに優っているのか

[Guest blog: How Customers Win with Apache Spark on Hadoop \- The Databricks Blog](https://databricks.com/blog/2015/06/17/how-customers-win-with-spark-on-hadoop.html)の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

:::note
2015年の記事です。
:::

この記事はMapRにいる私の友人によるゲスト投稿です。

- - - 

この記事では、Hadoopを含むMapRディストリビューションにApache Sparkをプロダクションとしてデプロイしたお客様との数ヶ月にわたる会話をまとめたものです。全体的に重要な示唆として、Sparkは本当に我々のユーザーコミュニティに進出しており、単にSparkによる迅速なアプリケーション開発や性能を活用しているだけではなく、MapRプラットフォームがサポートする完全なSparkスタックの力も活用しているということです。

# なぜSpark？

我々はユーザーに対して、Sparkをデプロイしたことで学んだことをヒアリングしました。こちらに共有すべき事項を示します。

1. 従来型のMapReduceは、間違いなくコーディングやメンテナンスが面倒です。ユーザーは可能な限り迅速に数多くのアプリケーションを構築したいと考えており、Sparkを用いることで、開発やメンテナンスに要する時間を削減することができます。このトレンドは、我々が最近実施したサーベイとも合致するものであり、[18%のMapRのお客様がシングルクラスターに50以上のユースケースをデプロイ](http://www.google.com/url?q=http%3A%2F%2Fwww.techvalidate.com%2Ftvid%2F432-D51-48F&sa=D&sntz=1&usg=AFQjCNGrCAuPcK-xEKecBqNjIwABMX95fg) **(リンク切れ)** しています。ユーザーは、数多くのアプリケーションを迅速にデプロイする際には、マルチテナントや高可用性、データ保護のようなプラットフォームの能力がさらに重要になると述べています。
1. ScalaはSparkのアプリケーション開発のメリットを提供しますが、Sparkアプリケーションの構築にJava APIを活用する開発者が多数存在しています。Lambda表現をサポートするJava 8によって、彼らの生活を劇的に容易なものにすることが期待されます。より小規模なデータサイエンティストコミュニティのユーザーにおいては、主に初期のデータモデリングプロセスでPython APIが最も使用されています。

# ユースケース概要

MapRでSparkがデプロイされたユースケースが多数存在しています。以下はその一部です。

1. **高速なバッチアプリケーション**: Sparkのインメモリ処理のスピードは、特に顧客に面するアプリケーションにおいては間違いなくプラスポイントです。多くのユーザーは、使っているノード数に基づくメモリーに自身のデータセットが収まり、かつ、特定のユースケースにおいてレーテンシーが問題となる場合には、パフォーマンスのメリットを享受するために、すぐにでもそれらのアプリケーションをSparkに移行する必要があります。ある有名なセールスパフォーマンス管理会社では、まさにこれを実行しており、従来のMapReduceを用いて記述されたプロダクションアプリケーションを移行しました。
1. **ETLデータパイプライン**: MapRにおける完全なSparkスタックのサポートによって、多くのユーザーが、MLLib/Sparkストリーミング出力をSpark SQLやGraphXアプリケーションに流し込むシンプルなプログラムに複雑なETLパイプラインを統合しています。[Novartisは創薬発見でこれを実施](https://www.datanami.com/2015/01/19/creating-flexible-big-data-solutions-drug-discovery/)しており、大規模なグラフ操作でSparkを使用しています。MapRのいくつかの大規模金融サービスの顧客においては、ウェブのクリックストリームのデータストリームに対してETLを実施しており、コールセンターのトランザクショナルアプリケーションにロードし、サービス担当がお客様がオンラインで何を検索しているのかに関する最新の情報を入手できるようにしています。
1. **OLAPキューブ**: 我々の顧客ベースで増加しているSparkのユースケースに、エンドユーザーが事前に設定されたデータセットとフィルターを用いて細分できるOLAPキューブがあります。Sparkコンテキストにロードされた事前定義のデータは、エンドユーザーが事前定義されたフィルターを用いてリアルタイムに変更することができ、バックグラウンドでオンザフライの集計やシンプルな線形回帰を実行します。このソリューションは、リアルタイムの多次元OLAP分析のためのカスタマーフェーシングのサービスをデプロイするために使用されています。例えば、オーストラリアの最大の分析サービスプロバイダーの一つである[Quantium](https://www.hpe.com/us/en/customer-case-studies.html)はエンドユーザー向けにこのソリューションを実装しました。
1. **オペレーション分析**: 他のユースケースには、頑丈かつスループットの高い永続化レイヤーとしてMapR-DBのようなNoSQLストアがデプロイされるストリミーングデータ、時系列データ、あるいは、ウェブのクリックストリームに対するリアルタイムのダッシュボード、アラートシステムがあります。大規模小売分析ファーム、急上昇している金融サービスファーム、Fortune 100のヘルスケアカンパニーが、このようなソリューションをプロダクションとして実装しています。

# プラットフォームの能力は依然として重要です

驚くことではないかもしれませんが、MapRのお客様が従来から喜んで使っていただいているエンタープライズレベルの機能は、HadoopにおけるSparkアプリケーションにも適用されます。NFSインジェスチョン、高可用性、Hadoop内のNoSQLデータベースに対する様々なオプション、ディザスターリカバリー、データセンター間複製は、依然として重要なものであり、プロダクションのデプロイメントの話を完結させるものです。

# より詳細を知りたいですか？

[Spark on Hadoop](https://www.hpe.com/us/en/products/software/ezmeral-data-fabric.html)のお客様のケーススタディをご覧ください。

ビッグデータに慣れ親しんでいないのであれば、Hadoop向けSparkベースの[クイックスタートソリューション](https://www.hpe.com/us/en/resource-library.html)をチェックしてみてください。

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)