package org.apache.pig.backend.hadoop.executionengine.spark_streaming.converter;
import java.io.IOException;
import java.util.List;
import org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion;
import org.apache.pig.backend.hadoop.executionengine.spark_streaming.SparkUtil;
import org.apache.pig.data.Tuple;
import org.apache.spark.streaming.api.java.JavaDStream;
import org.apache.spark.streaming.api.java.JavaStreamingContext;
public class UnionConverter implements POConverter<Tuple, Tuple, POUnion> {
private final JavaStreamingContext sc;
public UnionConverter(JavaStreamingContext sc) {
this.sc = sc;
}
@Override
public JavaDStream<Tuple> convert(List<JavaDStream<Tuple>> predecessors,
POUnion physicalOperator) throws IOException {
SparkUtil.assertPredecessorSizeGreaterThan(predecessors, physicalOperator, 0);
JavaDStream<Tuple> unionDStream= sc.union(predecessors.get(0), predecessors.subList(1, predecessors.size()));
return unionDStream;
}
}