私はSparkプロジェクトに取り組んでおり、アマゾンのクラスタでアプリをエスケープしようとしています。小さなファイルでもパフォーマンスは非常に遅いです。私は解決策を望んでいない、経験豊富な遅さのための考えられる理由についてのちょうど意見。AmazonのクラスタでPySparkが非常に遅い
spark = SparkSession.builder.appName("appName").getOrCreate()
sc = spark.sparkContext
rec= sc.textFile(sys.argv[1])
# rec= sc.parallelize(records.collect())
a= rec.map(lambda line: line.split("\t"))
.filter(lambda x: int(x[6])>=4)
.map(lambda x: (x[1],[x[2], x[6]]))
a=a.join(a)
.filter(lambda (x,(a,b)): a[0]<b[0])
.map(lambda (x,(b,a)): ((a[0],b[0]),x))
.groupByKey()
.filter(lambda (x,y): len(set(y))>2)
.sortBy(lambda a: a[0])
.saveAsTextFile(sys.argv[2])
*非常に遅い*と*小さい*の定義は何ですか? – mtoto
300MBの場合は150秒。 Javaでは、操作は多かれ少なかれ60秒です – RamsesXVII
ファイルをPandasで読み込み、それをSpark RDDにプッシュすることを検討してください。 – Henry