[HADOOP] 내 간단한 스파크 응용 프로그램이 너무 느리게 작동합니다 이유는 무엇입니까?
HADOOP내 간단한 스파크 응용 프로그램이 너무 느리게 작동합니다 이유는 무엇입니까?
나는 스파크 API를 사용하여 mllib의 FP의 성장에 의해 발생하는 빈번한 아이템 세트를 계산하려합니다. 내 스파크는 버전 1.5.1입니다. 다음은 내 코드입니다 :
#!/usr/bin/python
from pyspark.mllib.fpm import FPGrowth
from pyspark import SparkContext,SparkConf
from pyspark import HiveContext
import os
os.environ['PYSPARK_PYTHON']='/usr/bin/python'
appName = "FP_growth"
sc = SparkContext()
sql_context = HiveContext(sc)
def read_spu(prod):#prod_code):
sql = """
select
t.orderno_nosplit,
t.prod_code,
t.item_code,
sum(t.item_qty) as item_qty
from ioc_fdm.fdm_dwr_ioc_fcs_pk_spu_item_f_chain t
where t.prod_code='%s'
group by t.prod_code, t.orderno_nosplit, t.item_code """%prod
spu_result = sql_context.sql(sql)
return spu_result.cache()
if __name__ == '__main__':
spu=read_spu('6727780')
conf=0.7
trans=spu.rdd.repartition(100).map(lambda x: (x[0],x[2])).groupByKey().mapValues(list).values().cache()
model = FPGrowth.train(trans, 0.01, 100)
freq_count = model.freqItemsets().count()
print 'freq_count:',freq_count
sc.stop()
입력 데이터는 하둡에서 읽기, 데이터는 약 20000 행이 매우 큰되지 않습니다. 그러나, 스크립트는 .count의 단계에서 매우 매우 느리게 작동합니다. 난 이유를 모르겠어. 성능에서, 그것 때문에 데이터 왜곡으로 보인다. 그러나 출력 데이터 (전용 작업 당 100킬로바이트에 대해) 큰되지 않습니다.
클러스터는 320 개 코어와 1.56 T 총 메모리 (뿐만 아니라 하나의 사용자)의 8 개 노드가 있습니다. 내 스파크 제출 스크립트 - 스파크 제출 --master 실 클러스터 --executor 메모리 30g의 --num-집행을 20 --executor 코어 5 FP_growth.py입니다
실행할 때 첨부 성능의 스크린 인쇄 있습니다 :
자원 사용
활동 단계
작업
해결법
-
==============================
1.재분할 (100)는 단계는 가장 많은 시간이 소요되는 확인하실 수 있습니다, 좋은 생각처럼 보이지 않는다. 이후에만 20000 기록이있다. 송환은 각 파티션 (200 개) 레코드로 분할한다.
재분할 (100)는 단계는 가장 많은 시간이 소요되는 확인하실 수 있습니다, 좋은 생각처럼 보이지 않는다. 이후에만 20000 기록이있다. 송환은 각 파티션 (200 개) 레코드로 분할한다.
데이터 크기가 큰없는 경우 모든 송환 할 필요가 없습니다. 또는 40-60 파티션 (2 또는 3) 집행의 * 아니오보십시오.
from https://stackoverflow.com/questions/50523055/why-my-simple-spark-application-works-so-slow by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HBase를가 Pyspark를 사용하여 상호 작용하는 최선의 방법은 무엇입니까 (0) | 2019.10.05 |
---|---|
[HADOOP] 스파크 - 2 개 PairRDD 요소를 결합 (0) | 2019.10.05 |
[HADOOP] 스크립트를 실행하는 동안 하이브에 오류가 (0) | 2019.10.05 |
[HADOOP] 구축을위한 외부 의존성 통과 수계 미스트를 스파크를 제출 (0) | 2019.10.05 |
[HADOOP] 하둡은 입력 폴더가 표시되지 않습니다 (0) | 2019.10.05 |