#spring #spring-boot #apache-spark #spark-java
Вопрос:
Я использую spark с пружинным ботинком. У меня есть служба ( spring bean ), которую я хочу вызвать для получения пакета данных. Проблема в том, что я продолжаю получать Task not serializable
исключения.
javaRDD.foreachPartition(iterator -gt; { Iterators.partition(iterator, 200) .forEachRemaining(value -gt; { log.info("got value {}", value); notificationService.post("topic", value); }); });
Насколько я понял из разных мест, это связано с тем, что мы вызываем метод обслуживания в кластере, и для этой цели класс обслуживания должен быть сериализуемым, чтобы его можно было передать исполнителям, которые собираются его запустить. Вопрос в том, как я могу избавиться от этого и есть ли какие-либо рекомендации для этого?
Комментарии:
1. никогда не видел такого использования. Что это за идея из любопытства?
2. идея состояла в том, чтобы читать из бд через spark-sql и отправлять уведомления пакетами. Я просто не хотел писать задание планировщика для чтения бд по частям, но хотел попробовать сделать то же самое с помощью spark
3. Spark-это механизм обработки, а не база данных.