LoginSignup
1
1

Apache Sparkの実行環境の特徴

Posted at

実行環境の全体像

image.png

Spark dirver

Spark driverには、いくつかの役割がある

  • cluster Managerへ情報の伝達をする
  • Sparkを実行するJVMのためのcluster Managrからの、メモリなどのリソースの要求
  • DAGコンピューティング、スケジュール、それらをタスクとして配布することをSaprkの操作で行う
  • 再びリソースを配布
  • それらをSpark executerに伝達

Spark Session

Sparkのエントリーポイント

//ライブラリの読み込み
import org.apache.spark.sql.SparkSession

//SparkSessionの構築
val spark = SparkSession
    .builder
    .appName("appName")
    .config("spark.sql.shuffle.partition", 6)
    .getOrCreate()

//Jsonの読み込み
val people = spark.read.json("fileName")

cluster Manager

役割

  • Sparkのアプリケーションの実行のリソースの管理や割り当ての役割

以下でのクラスターを管理できる

  • Apache Hadoop YARN
  • Apache Mesos
  • Kubernetes

Spark executor

Spark executorは、プログラムのドライバーに情報の伝達をし、
executorのタスクにおいて大事な役割を果たしています

Deployment modes

Sparkには様々なデプロイモデルがある。
cluster ManagerはSpark's exeuter,リソースの要求を満たす限り、環境に依存はせず、
Apache Hadoop YARNやKubernetesなどでデプロイすることが出来る

データとパーティション

データは、様々な場所に祖損されているが、
Saprkでは、論理的にパーティションやデータを扱うことが出来る

ただし、それらはネットワークが閉じ、パーティションが読み込まれたタスクのみ可能である

1
1
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
1
1