0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Apache SparkとHadoop:力を合わせて

Last updated at Posted at 2022-04-05

Apache Spark and Hadoop HDFS: Working Togetherの翻訳です。

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

2014年の記事です。

我々はよく、Apache SparkがどのようにHadoopのエコシステムに収まるのか、既存のHadoopクラスターでどのようにSparkを実行できるのかという質問をいただきます。この記事では、これらの質問に回答します。

最初に、SparkはHadoopスタックの置き換えでなく、エンハンスすることを目的としています。当初から、SparkはHDFSや、HBaseやAmazonのS3など他のストレージシステムとデータを読み書きできるように設計されていました。Hadoopのユーザーは、SparkとHadoopのMapReduce、HBaseや他のビッグデータプラットフォームを組み合わせることで、自身の処理能力を向上させることができます。

次に、我々は全てのHadoopユーザーが、Sparkの能力を可能な限り簡単に活用できるようにすることにフォーカスし続けています。Hadoop 1.xあるいはHadoop 2.0 (YARN)を実行していようが、Hadoopクラスターを設定できる管理権限を持っていようが持っていまいが、Sparkを実行する方法が存在します!特に、HadoopクラスターにSparkをデプロイする方法は3つ存在します。スタンドアローン、YARN、そしてSIMRです。

スタンドアローンデプロイメント: スタンドアローンデプロイメントでは、Hadoopクラスターのマシンの一部あるいは全部のリソースを静的に割り当てることができ、SparkとHadoop MRを同居させて実行することができます。ユーザーはHDFSデータに対して任意のSparkジョブを実行することができます。このシンプルさは、多くのHadoop 1.xユーザーに対するデプロイメントの選択肢となります。

Hadoop Yarnデプロイメント: Hadoop Yarnをデプロイしている、あるいはこれからデプロイしようとしているHadoopユーザーは、事前インストールや管理者アクセスなしにシンプルにYARN上でSparkを実行することができます。これによって、ユーザーは容易にSparkを自身のHadoopスタックにインテグレーションし、Sparkのフルパワー、その他のSparkで動作するコンポーネントを活用することができます。

Spark In MapReduce(SIMR): まだYARNを実行していないHadoopユーザーに対して、スタンドアローンのデプロイメントに加えて、MapReduce内でSparkジョブを起動するSIMRを使うという別のオプションを提供します。SIMRを用いることで、ユーザーはSparkを用いた実験を開始することができ、ダウンロードした後の数分でシェルを使用することができます!これは、デプロイメントの障壁を劇的に引き下げ、誰でもSparkで遊ぶことができるようになります。

他のシステムとの相互運用性

SparkはHadoopとだけではなく、他の人気のあるビッグデータテクノロジーと相互運用することができます。

  • Apache Hive: Sharkを通じて、SparkはApache Hiveのユーザーがクエリーを変更することなしに、より高速にクエリーを実行することが可能となります。HiveはHadoop上で動作する人気のあるデータウェアハウスソリューションですが、SharkはHadoopではなくSpark上でHiveフレームワークをどうさせるためのシステムです。結果として、Sharkは入力データがメモリーに収まる際はHiveのクエリーを100倍高速にし、入力データがディスクに格納されている場合も10倍高速にします。
  • AWS EC2: ユーザーは、Sparkに同梱されているスクリプトあるいはAmazonのElastic MapReduce上にホストされているSpark、Sharkを用いて、容易にAmazon EC2の上でSpark(とShark)を実行することができます。
  • Apache Mesos: Sparkは、MPIとHadoopを含む分散アプリケーション間での効率的なリソース分類を提供するクラスターマネージャシステムであるMesos上で動作します。Mesosは、Sparkジョブの実行時におけるクラスターのアイドルリソースを同的に活用するために、きめ細かい共有を実現します。これによって、特に長時間実行するSparkジョブにおいては劇的な性能改善につながります。

Databricks 無料トライアル

Databricks 無料トライアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?