Apache Spark和Hadoop:攜手合作

Apache Spark和Hadoop HDFS一起工作。

這本書是節選版本,並不能保證內容的準確性。請參考原文以獲取正確的內容。
这是2014年的报道。

我们经常被问到关于Apache Spark如何适应Hadoop生态系统以及如何在现有的Hadoop集群上运行Spark的问题。本文将回答这些问题。

最初,Spark的目标并非替代Hadoop栈,而是增强其功能。从一开始,Spark就被设计成可以与HDFS、HBase、Amazon的S3等其他存储系统进行数据的读写交互。通过将Spark与Hadoop的MapReduce、HBase和其他大数据平台结合使用,Hadoop用户可以提高自身的处理能力。

独立部署:在独立部署中,您可以静态分配Hadoop集群中一部分或全部的资源,并同时运行Spark和Hadoop MR。用户可以对HDFS数据执行任意的Spark作业。这种简单性成为了许多Hadoop 1.x用户的部署选择之一。

Hadoop Yarn部署:正在部署或者计划部署Hadoop Yarn的用户,可以简单地在YARN上运行Spark,而不需要预先安装或管理员访问权限。这样用户可以轻松将Spark集成到自己的Hadoop堆栈中,并利用Spark的完整功能以及其他与Spark兼容的组件。

Spark in MapReduce(SIMR)是为尚未运行YARN的Hadoop用户提供的另一种选择。除了独立部署之外,SIMR还可以在MapReduce内启动Spark作业。通过使用SIMR,用户可以开始使用基于Spark的实验,并在数分钟后使用Shell进行操作!这将大大降低部署的障碍,使任何人都能够玩转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 免费试用

广告
将在 10 秒后关闭
bannerAds