У меня есть информация о событиях контекста с искровым потоком из кафки с интервалами в 10 секунд. Я хотел бы дополнить эти данные события существующими данными в таблице postgres.
Я могу загрузить таблицу postgres с чем-то вроде:
val sqlContext = new SQLContext(sc)
val data = sqlContext.load("jdbc", Map(
"url" -> url,
"dbtable" -> query))
...
val broadcasted = sc.broadcast(data.collect())
И позже я могу пересечь его следующим образом:
val db = sc.parallelize(data.value)
val dataset = stream_data.transform{ rdd => rdd.leftOuterJoin(db)}
Я хочу, чтобы мой текущий поток данных работал и все еще перезагружал эту таблицу каждые 6 часов. Поскольку испуганность apache в данный момент не поддерживает несколько запущенных контекстов, как я могу это сделать? Есть ли обходной путь? Или мне нужно будет перезапустить сервер каждый раз, когда я хочу перезагрузить данные? Это кажется таким простым случаем...:/