com.datastax.spark.connector.japi.DStreamJavaFunctions Maven / Gradle / Ivy
The newest version!
package com.datastax.spark.connector.japi;
import com.datastax.spark.connector.ColumnSelector;
import com.datastax.spark.connector.cql.CassandraConnector;
import com.datastax.spark.connector.streaming.DStreamFunctions;
import com.datastax.spark.connector.writer.RowWriterFactory;
import com.datastax.spark.connector.writer.TokenRangeAccumulator;
import com.datastax.spark.connector.writer.WriteConf;
import org.apache.spark.SparkConf;
import org.apache.spark.streaming.dstream.DStream;
import scala.Option;
/**
* A Java API wrapper over {@link DStream} to provide Spark Cassandra Connector functionality.
*
* To obtain an instance of this wrapper, use one of the factory methods in {@link CassandraJavaUtil}
* class.
*/
@SuppressWarnings("UnusedDeclaration")
public class DStreamJavaFunctions extends RDDAndDStreamCommonJavaFunctions {
public final DStream dstream;
private final DStreamFunctions dsf;
DStreamJavaFunctions(DStream dStream) {
this.dstream = dStream;
this.dsf = new DStreamFunctions<>(dStream);
}
@Override
public CassandraConnector defaultConnector() {
return dsf.connector();
}
@Override
protected SparkConf getConf() {
return dstream.ssc().conf();
}
@Override
protected void saveToCassandra(String keyspace, String table, RowWriterFactory rowWriterFactory,
ColumnSelector columnNames, WriteConf conf, CassandraConnector connector) {
dsf.saveToCassandra(keyspace, table, columnNames, conf, Option.apply(null), connector, rowWriterFactory);
}
}