Можно ли использовать groupByKey для оптимизации и сокращения вычислительной работы - PullRequest
1 голос
/ 20 июня 2020

У меня есть Dataframe примерно так

empId | firstName | lastName | DOB | effStartDate | effEndDate | ........

121 | Rahul | Jaiswal | 27-10 -1194 | 03-05-2019 | 03-05-2020 | .....

147 | Dev | Kumar | 12-03-1995 | 04-08-2019 | 03-05-2020 | .....

121 | Рахул | Джайсвал | 27-10-1194 | 03-05-2019 | 03-05-2020 | .....

.... ..продолжить

Прямо сейчас я извлекаю значение из DF примерно так:

  implicit val encoder = kryo[EmployeeJobDataFields]
val sortedDF = df.orderBy(asc(EMP_ID_COLUMN), asc(EFF_START_DATE_COLUMN)).na.fill(EMPTY_STRING)
   val recordList: List[EmployeeJobDataFields] = sortedDF
  .map(row => {
    EmployeeJobDataFields(row.getString(0), row.getString(1), row.getString(2), row.getString(3),
      row.getString(4), row.getString(5), row.getString(6), row.getString(7), row.getString(8), row.getString(9)
  })(encoder)
  .collectAsList

Здесь empId будет повторяться для некоторого пользователя

Это лучшее способ сделать это или у нас есть другой способ улучшить код? Я не уверен, что groupByKey () подойдет здесь и уменьшит количество вычислений

Эксперт, пожалуйста, посоветуйте мне

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...