2017-12-15 14 views
0

나는 pyspark 1.6.2에서 python 스크립트 파일을 실행합니다 (예전의 인증 교육용 이유).pyspark : python 스크립트를 실행하고 명령 줄에서 결과를 확인하십시오.

spark-submit --master yarn-cluster s01.py 

실행하면 "application_somelongnumber에 대한 응용 프로그램 보고서"가 반환됩니다. 내가 기대했던 것은 스크립트 명령의 결과를 보여주는 것입니다. 그래서 제가 제대로 개발되었는지 확인할 수 있습니다. 내가 원하는 것을 얻으려면 어떻게해야합니까?

내 스크립트의 내용 :

#!/usr/bin/python 

from pyspark.sql import Row 
from pyspark.sql.functions import * 
from pyspark import SparkContext 
sc = SparkContext(appName = "solution01") 

a = sc.textFile("/data/crime.csv") 
b = a.take(1) 
sc.stop() 
print(b) 

UPDATE : 나는 pyspark의 s01.py을 실행하면 내 결과를 볼 수 있지만 나는 그것이 매개 변수와 함께 실행되는 원하기 때문에 즉, 의도 된 행동하지 않습니다 클러스터에서

답변

1

1) 인쇄 명령문은 원사 모드에서 작동하지 않습니다. 대신 다음과 같이 foreach 문을 사용

myRDD.collect().foreach(println) 

2) 당신은 스파크 드라이버가 당신이 실행하는 곳에서 시스템에 생성 될 경우 실 - 클라이언트 모드 대신 실 클러스터하면서 디버깅 사용해야 스파크를 제출 명령.

3) 원사 - 클러스터 모드에서 spark 명령을 실행하는 경우. 실행 중에 콘솔에서 로그를 볼 수 없습니다. 애플리케이션 ID로 생성 된 URL이 있습니다. 주어진 URL에서 로그를 확인할 수 있습니다.

yarn logs -applicationId <application> 
: 실행이 완료되면

은 또한 당신이 명령을 사용하여 로컬 컴퓨터에 클러스터에서 로그를 다운로드 할 수 있습니다