Analizar CSV como DataFrame / DataSet con Apache Spark y Java

Soy nuevo en spark, y quiero usar group-by & reduce para encontrar lo siguiente de CSV (una línea por empleado):

  Department, Designation, costToCompany, State
  Sales, Trainee, 12000, UP
  Sales, Lead, 32000, AP
  Sales, Lead, 32000, LA
  Sales, Lead, 32000, TN
  Sales, Lead, 32000, AP
  Sales, Lead, 32000, TN 
  Sales, Lead, 32000, LA
  Sales, Lead, 32000, LA
  Marketing, Associate, 18000, TN
  Marketing, Associate, 18000, TN
  HR, Manager, 58000, TN

Me gustaría simplificar el acerca de CSV con group byDepartamento, Designación, Estado con columnas adicionales consum (costToCompany) yTotalEmployeeCount

Debería obtener un resultado como:

  Dept, Desg, state, empCount, totalCost
  Sales,Lead,AP,2,64000
  Sales,Lead,LA,3,96000  
  Sales,Lead,TN,2,64000

¿Hay alguna manera de lograr esto usando transformaciones y acciones? ¿O deberíamos ir para operaciones RDD?

Respuestas a la pregunta(4)

Su respuesta a la pregunta