SparkとApache Hadoopの関係は?
Sparkは、Hadoopデータと互換性のある高速で汎用的な処理エンジンです。YARNまたはSparkのスタンドアロンモードでHadoopクラスター内で実行でき、HDFS、HBase、Cassandra、Hive、および任意のHadoop InputFormatでデータを処理できます。バッチ処理(MapReduceと同様)と、ストリーミング、インタラクティブクエリ、機械学習などの新しいワークロードの両方を実行するように設計されています。
本番環境でSparkを使用しているのは誰ですか?
2016年の調査では、1000を超える組織が本番環境でSparkを使用していることが示されています。それらの一部は、Powered ByページとSpark Summitにリストされています。
Sparkはどれくらいの規模のクラスターまでスケールできますか?
多くの組織が数千のノードのクラスターでSparkを実行しています。私たちが知っている最大のクラスターは8000ノードです。データサイズに関しては、Sparkはペタバイトまでうまく動作することが示されています。1/10のマシンでHadoop MapReduceよりも3倍高速に100TBのデータをソートするために使用されており、2014年のDaytona GraySortベンチマークに勝利し、1 PBをソートしました。いくつかの本番ワークロードでは、Sparkを使用してPB単位のデータでETLとデータ分析を実行しています。
Sparkを使用するには、データがメモリに収まる必要がありますか?
いいえ。Sparkのオペレーターは、データがメモリに収まらない場合にディスクにデータをスピルするため、任意のサイズのデータで適切に実行できます。同様に、メモリに収まらないキャッシュされたデータセットは、RDDのストレージレベルによって決定されるように、ディスクにスピルされるか、必要なときにオンザフライで再計算されます。
クラスターでSparkを実行するにはどうすればよいですか?
各ノードにJavaがインストールされているだけでよいスタンドアロンデプロイモード、またはMesosとYARNクラスターマネージャーのいずれかを使用できます。Amazon EC2で実行する場合は、AMPLabがEC2スクリプトを提供して、クラスターを自動的に起動します。
マスターURLとしてlocal[N]
を渡すだけで、特別な設定なしで(おそらく複数のコアで)Sparkをローカルで実行できることにも注意してください。ここで、N
は必要な並列スレッド数です。
Sparkを実行するにはHadoopが必要ですか?
いいえ。ただし、クラスターで実行する場合は、何らかの形式の共有ファイルシステム(たとえば、各ノードの同じパスにマウントされたNFS)が必要です。このタイプのファイルシステムがある場合は、スタンドアロンモードでSparkをデプロイできます。
Sparkには、ScalaまたはPythonの変更されたバージョンが必要ですか?
いいえ。Sparkには、Scalaまたはコンパイラープラグインの変更は必要ありません。Python APIは標準のCPython実装を使用しており、NumPyなどのPython用の既存のCライブラリを呼び出すことができます。
Spark StreamingとSpark Structured Streamingの違いは何ですか?どちらを使用すべきですか?
Spark Streamingは、Sparkのストリーミングエンジンの以前の世代です。Spark Streamingの更新はもうなく、レガシープロジェクトです。Spark Streamingは、離散化されたストリームまたはDStreamと呼ばれる高レベルの抽象化を提供します。これは、データの連続ストリームを表します。内部的には、DStreamはRDDのシーケンスとして表されます。
Spark Structured Streamingは、Sparkのストリーミングエンジンの現在の世代であり、機能が豊富で、使いやすく、スケーラブルです。Spark Structured Streamingは、Spark SQLエンジンの上に構築されており、静的データに対するバッチ計算を表現するのと同じ方法でストリーミング計算を表現できます。
Sparkでストリーミングアプリケーションとパイプラインを構築するには、Spark Structured Streamingを使用する必要があります。Spark Streamingで構築されたレガシーアプリケーションとパイプラインがある場合は、Spark Structured Streamingに移行する必要があります。
Sparkロゴの高解像度バージョンはどこにありますか?
ここにバージョンを提供しています:黒ロゴ、白ロゴ。Spark、Apache Spark、およびSparkロゴはApache Software Foundationの商標であり、これらのロゴの使用においては財団の商標ポリシーに従うことにご注意ください。
Sparkに基づく商用ソフトウェアまたはサービスを提供できますか?
はい。Apache Software Foundationのソフトウェアライセンスと商標ポリシーを尊重する限り、提供できます。特に、サードパーティ製品が「Spark」という名前を使用する方法には強い制限があることに注意してください(Sparkに基づく名前は一般的に許可されていません)。また、商標ポリシーの概要も参照してください。
Sparkに貢献するにはどうすればよいですか?
詳細については、Spark Wikiへの貢献を参照してください。
さらにサポートが必要な場合はどうすればよいですか?
StackOverflowのapache-spark
タグまたはSpark Usersメーリングリストに投稿してください。詳細については、質問がありますか?を参照してください。喜んでお手伝いします!