아래 포스팅에서 spark-submit
명령을 통해 Spark Application을 제출하고 실행한다는 것을 알았다.
Spark 배포 및 실행 방법에 대한 이해
https://velog.io/@jskim/Spark-%EB%B0%B0%ED%8F%AC-%EB%B0%8F-%EC%8B%A4%ED%96%89-%EB%B0%A9%EB%B2%95%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B4
실제로 Spark Application을 개발하고, Spark 단일 Machine(Local) 또는 Cluster에 제출하여 Application을 실행하는 방법을 알아본다.
Python Script를 이용해 간단한 Spark Application을 만들어본다.
simple_app.py
from pyspark.sql import SparkSession
spark = SparkSession.builder.master("local").appName("Even Count").getOrCreate()
myRange = spark.range(1000).toDF("number")
divisBy2 = myRange.where("number % 2 = 0")
divisBy2.show()
print(f"Even Count : {divisBy2.count()}")
SparkSession
모든 Application은 가장 먼저 SparkSession
을 생성한다. Terminal이나 Zepplin같은 대화형 Notebook에서는 자동으로 생성되기 때문에 수동으로 생성할 필요는 없다. 하지만 Application을 직접 만드는 경우에는 직접 생성해야 한다.
Local에서 간단하게 실행해본다.
spark-submit simple_app.py
Python 중간 Code에 있는 divisBy2.show()
에 대한 결과가 출력된다.
Log를 좀 더 내리면 짝수 Record에 대한 결과값인 500
이 출력되는 것을 볼 수 있다.