#apache-spark #apache-spark-sql #spark-structured-streaming
#apache-spark #apache-spark-sql #spark-structured-streaming
Вопрос:
У меня есть события с "id and Map[String, List]"
данными. Я группирую эти данные по id
. Затем я вычисляю что-то с помощью «mapgroupswithstate».
Могу ли я использовать from_json()
метод в mapgroupswithstate
? Итак, могу ли я использовать dataset/dataframe
в mapgroupswithstate
?
Например;
df.groupBy().mapgroupswithstate{
val anotherDF = events.toDF
... other operations...
}
Ответ №1:
Могу ли я использовать метод from_json() в mapgroupswithstate? Итак, могу ли я использовать dataset / dataframe в mapgroupswithstate?
Ответ на оба вопроса — Нет (свободно). Не стандартным способом. Когда вы работаете в mapgroupswithstate, вы переходите к операциям уровня исполнителя, где вы можете написать пользовательский код без абстракции фрейма данных.
Комментарии:
1. Кроме того, я хочу задать еще один вопрос. Когда я использую mapgroupswithstate без «тайм-аута» (также это режим обновления), состояние будет расти бесконечно? Например, у меня есть 100 пользователей, и я сохраняю 100 состояний для этих пользователей. Каждое состояние будет обновляться с каждым полученным данными. В этом случае все состояния растут бесконечно?
2. Без тайм-аута обновления состояния каждой группы должны сохраняться при вызове потокового запроса. Я не пробовал это лично.