spark-files
spark-default.xml1
2spark.files.maxPartitionBytes 67108864
spark.sql.files.maxPartitionBytes 33554432
spark在读取大文件的时候会自动的分区,这时候分区的标准就是上面这两个参数.
因此可以根据这两个参数调配任务的task,防止内存爆了.
spark-dynamicAllocation
spark-default.xml1
2spark.dynamicAllocation.enabled true
spark.dynamicAllocation.executorIdleTimeout 10s
dynamicAllocation 是spark自动调配executor的方式.可以尽可能的使用spark集群,
调节executorIdleTimeout,可以在任务使用完executor之后,尽快地释放executor,使得其它任务可以尽快的使用.
结局
未完待续
TODO
偶尔会遇到timeout的情况,这时候一般都是内存不足,一直不是很明白spark到底怎么使用内存的.也许不是java党的缘故,有点难以着手.有空再好好剖析.