这就是我的简单pyspark应用程序:
使用
以avro格式保存过滤器的结果(大于0.9) filtered_df.write.format('com.databricks.spark.avro').save('hdfs://path/result')
我使用spark的数据帧来完成此任务(SQLContext)。我的群集信息如下:
我用以下内容运行我的火花工作:
spark-submit --num-executors 15 --executor-cores 5 --executor-memory 13G test.py
看着我的火花用户界面,我看到了一些由200个任务组成的工作。但是,保存到avro步骤只包含6个并行运行的任务。最后一次运行,大约需要1天才能完成。我该如何优化呢?任何帮助,将不胜感激。我是新来的火花。我正在考虑将其转换为RDD map reduce,但是读取Dataframe操作实际上更有效。