1、提交任务的缺点
用spark-submit提交任务时会有一些缺点:
- 耗费太多的时间用于申请资源上,尤其针对那些小任务(可能任务非常快就完成了)
- 若因为部分task一值无法结束,那么即使那些完成的task,资源也不会释放
- Sparl sql join以及aggregation的ShufflePatition数默认是200,若数据比较少或非常多,那么参数就需要适当的做修改,减少小文件或增加并发。
- 要处理的数据都有波峰波谷,如何保证波峰资源不吃紧波谷资源不浪费。
是否有将所有的作业共享Spark session来解决上述的问题,社区提供了:JobServer
2、SparkSQL执行计划
这里有篇很不错的博文:
http://hbasefly.com/2017/03/01/sparksql-catalyst/
3、选择 Parquet for Spark SQL 的 5 大原因
博文:
https://www.ibm.com/developerworks/cn/analytics/blog/5-reasons-to-choose-parquet-for-spark-sql/