spark의 zeppelin에서 테스트한 python스크립트 spark-submit, spark-shell 중 어떤걸로 실행시켜야 작동하나요?
조회수 602회
linux에 spark과 zeppelin을 설치해서 사용중인데 zeppelin에서 python스크립트를 선택하고 아래와 같이 코드를 작성해서 테스트했습니다. 정상적으로 동작은 하는데 실제 linux에서 crontab에 등록하려하니 spark-submit, spark-shell 중에 뭘로 실행시켜야할지 모르겠네요... zeppelin에 있는 코드 그대로 적어보겠습니다.
%pyspark
sc.stop()
from pyspark import SparkConf, SparkContext, SQLContext
from pyspark.sql.functions import explode, col
import json
conf = SparkConf().setMaster("spark://sparkmst:7077").setAppName("TEST")
sc = SparkContext(conf = conf)
sqlContext = SQLContext(sc)
path = "file:///home/data/test.json"
df = sqlContext.read.json(path)
df1 = df.select(col('data.param.servers'))
df2 = df1.withColumn("srv_name",col('servers.srv_name')[0])\
.withColumn("srv_serial",col('servers.srv_serial')[0])\
.withColumn("groups",explode(col('servers.groups')[0]))\
.withColumn("group_id", col('groups.group_id'))\
.withColumn("items", col('groups.items')[0])\
.withColumn("item_id", col("items.item_id"))\
.withColumn("item_param", col("items.item_param"))\
.withColumn("item_time", col("items.item_time"))\
.withColumn("item_value", col("items.item_value"))\
.drop("servers","groups","items")
df2.show()
참고로 아래와 같이 경로잡고 실행시켰는데 둘 다 실패했습니다.
/home/spark/bin/spark-submit /home/python_script/test.py
/home/spark/bin/spark-submit /home/python_script/test.spark
/home/spark/bin/spark-shell /home/python_script/test.py
/home/spark/bin/spark-submit /home/python_script/text.py
네 개 모두 실행 시켰는데 동작하지를 않네요... zeppelin에서 돌듯이 정상적으로 실행시키려면 어떻게 해야할까요?
댓글 입력