那些年不懂的spark(4)

spark-files

spark-default.xml

1
2
spark.files.maxPartitionBytes 67108864
spark.sql.files.maxPartitionBytes 33554432

spark在读取大文件的时候会自动的分区,这时候分区的标准就是上面这两个参数.
因此可以根据这两个参数调配任务的task,防止内存爆了.

spark-dynamicAllocation

spark-default.xml

1
2
spark.dynamicAllocation.enabled  true
spark.dynamicAllocation.executorIdleTimeout 10s

dynamicAllocation 是spark自动调配executor的方式.可以尽可能的使用spark集群,
调节executorIdleTimeout,可以在任务使用完executor之后,尽快地释放executor,使得其它任务可以尽快的使用.

结局

未完待续

TODO

偶尔会遇到timeout的情况,这时候一般都是内存不足,一直不是很明白spark到底怎么使用内存的.也许不是java党的缘故,有点难以着手.有空再好好剖析.

Done