Basics: def abc(a:type):String = {} obj.abc //getter obj.abc = pop //setter val var:type = value class someclass(var: type) //cant use getter or setter. need new case class someclass(var: type) // can use getter. do not need new Instance methods on classes Static methods on objects Variables created by val are immutable. Tuples in scala: -Fixed size of things -Elements could be of different types Creating a tuple: val t:(s,b) = (new s, new b)
For K means: Run algorithm for various -values of K -num of iterations -num of executors - size of the dataset Regression trees to find out the parameters that affect the total execution time the most. 1. total execution time - To predict 2. number of jobs 3. avg time per job 4. number of stages 5. avg time per stage 6. Number of shuffle and reads 7. Number of Retries 8. Number of executors 9. avg number of tasks per stage 10. time per task 11. Get thread pool values for executors. (Repeat for MLlib, ML, tensorflow and dataflow) - check which has the best performance Check values for each executor - ????