Статус искрообразования регулярно очищается

Двумя способами:
SparkStreaming обычно развертывается в Linux и работает под управлением 7 * 24. Если информация о состоянии не очищена, внутренние данные будут очень большими, а контрольная точка будет становиться все медленнее и медленнее. Как правило, бизнес, который считается один раз в день, можно очищать регулярно.
1: Вы можете написать сценарий оболочки для перезапуска задачи Spark.Используйте команду ps, чтобы найти номер процесса для spark-submit, kill -9 принудительно завершите процесс, а затем перезапустите.
2: Используйте специальный метод spark для периодического завершения программы sparkStreaming, а затем вызовите сценарий для запуска программы sparkStreaming (рекомендуется).
Поскольку это рекомендуется, вы должны предоставить код сухих товаров, ха-ха, сухие товары выглядят следующим образом:
напишите так при запуске программы sparkStreaming в основной функции (написано на java, у scala также есть соответствующие API, вы можете обратиться к идеям):

		jsc.start();
		jsc.awaitTerminationOrTimeout(getTime(System.currentTimeMillis()));
//		System.out.println(new Date());
//		System.out.println("Spark Application End!");
		jsc.close();
/**
*设置具体结束时间,这里我设置的是每天的晚上11点59分结束,然后在下一天的00:00调用
*spark的启动脚本
*/	
    public static Long getTime(Long currentTimeStamp) {
		Calendar calendar = Calendar.getInstance();
		int year = calendar.get(Calendar.YEAR);
		int month = calendar.get(Calendar.MONTH);
		int day = calendar.get(Calendar.DAY_OF_MONTH);
		//具体时间的设置
		Date date = new Date(year-1900, month, day, 23, 59, 0);
		return date.getTime()-currentTimeStamp;
	}

Друзья могут сами написать wordCount, встроить код, открыть мой комментарий и запустить его, а затем вы сможете проверить, работает ли он.

рекомендация

отblog.csdn.net/qq_39719415/article/details/90599894