
com.elo7.nightfall.distcp.provider.DateWindowExecutor Maven / Gradle / Ivy
package com.elo7.nightfall.distcp.provider;
import com.elo7.nightfall.di.tasks.TaskProcessor;
import org.apache.spark.api.java.JavaRDD;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import java.util.Set;
class DateWindowExecutor implements Runnable {
private static final Logger LOGGER = LoggerFactory.getLogger(DateWindowExecutor.class);
private final JavaRDD rdd;
private final Set processors;
@Inject
DateWindowExecutor(JavaRDD rdd, Set processors) {
this.rdd = rdd;
this.processors = processors;
}
@Override
public void run() {
try {
processors.forEach(task -> task.process(rdd));
} catch (Exception e) {
LOGGER.error("Error while processing tasks", e);
throw e;
} finally {
LOGGER.info("Stopping Spark Context.");
rdd.context().stop();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy