Towards General and Efficient Online Tuning for Spark