org.apache.flink.api.scala.typeutils.CaseClassTypeInfo Java Examples
The following examples show how to use
org.apache.flink.api.scala.typeutils.CaseClassTypeInfo.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CassandraSink.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
/** * Writes a DataStream into a Cassandra database. * * @param input input DataStream * @param <IN> input type * @return CassandraSinkBuilder, to further configure the sink */ public static <IN> CassandraSinkBuilder<IN> addSink(DataStream<IN> input) { TypeInformation<IN> typeInfo = input.getType(); if (typeInfo instanceof TupleTypeInfo) { DataStream<Tuple> tupleInput = (DataStream<Tuple>) input; return (CassandraSinkBuilder<IN>) new CassandraTupleSinkBuilder<>(tupleInput, tupleInput.getType(), tupleInput.getType().createSerializer(tupleInput.getExecutionEnvironment().getConfig())); } if (typeInfo instanceof RowTypeInfo) { DataStream<Row> rowInput = (DataStream<Row>) input; return (CassandraSinkBuilder<IN>) new CassandraRowSinkBuilder(rowInput, rowInput.getType(), rowInput.getType().createSerializer(rowInput.getExecutionEnvironment().getConfig())); } if (typeInfo instanceof PojoTypeInfo) { return new CassandraPojoSinkBuilder<>(input, input.getType(), input.getType().createSerializer(input.getExecutionEnvironment().getConfig())); } if (typeInfo instanceof CaseClassTypeInfo) { DataStream<Product> productInput = (DataStream<Product>) input; return (CassandraSinkBuilder<IN>) new CassandraScalaProductSinkBuilder<>(productInput, productInput.getType(), productInput.getType().createSerializer(input.getExecutionEnvironment().getConfig())); } throw new IllegalArgumentException("No support for the type of the given DataStream: " + input.getType()); }
Example #2
Source File: CassandraConnectorITCase.java From Flink-CEPplus with Apache License 2.0 | 6 votes |
@Test public void testCassandraScalaTupleAtLeastOnceSinkBuilderDetection() throws Exception { Class<scala.Tuple1<String>> c = (Class<scala.Tuple1<String>>) new scala.Tuple1<>("hello").getClass(); Seq<TypeInformation<?>> typeInfos = JavaConverters.asScalaBufferConverter( Collections.<TypeInformation<?>>singletonList(BasicTypeInfo.STRING_TYPE_INFO)).asScala(); Seq<String> fieldNames = JavaConverters.asScalaBufferConverter( Collections.singletonList("_1")).asScala(); CaseClassTypeInfo<scala.Tuple1<String>> typeInfo = new CaseClassTypeInfo<scala.Tuple1<String>>(c, null, typeInfos, fieldNames) { @Override public TypeSerializer<scala.Tuple1<String>> createSerializer(ExecutionConfig config) { return null; } }; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<scala.Tuple1<String>> input = env.fromElements(new scala.Tuple1<>("hello")).returns(typeInfo); CassandraSink.CassandraSinkBuilder<scala.Tuple1<String>> sinkBuilder = CassandraSink.addSink(input); assertTrue(sinkBuilder instanceof CassandraSink.CassandraScalaProductSinkBuilder); }
Example #3
Source File: CassandraSink.java From flink with Apache License 2.0 | 6 votes |
/** * Writes a DataStream into a Cassandra database. * * @param input input DataStream * @param <IN> input type * @return CassandraSinkBuilder, to further configure the sink */ public static <IN> CassandraSinkBuilder<IN> addSink(DataStream<IN> input) { TypeInformation<IN> typeInfo = input.getType(); if (typeInfo instanceof TupleTypeInfo) { DataStream<Tuple> tupleInput = (DataStream<Tuple>) input; return (CassandraSinkBuilder<IN>) new CassandraTupleSinkBuilder<>(tupleInput, tupleInput.getType(), tupleInput.getType().createSerializer(tupleInput.getExecutionEnvironment().getConfig())); } if (typeInfo instanceof RowTypeInfo) { DataStream<Row> rowInput = (DataStream<Row>) input; return (CassandraSinkBuilder<IN>) new CassandraRowSinkBuilder(rowInput, rowInput.getType(), rowInput.getType().createSerializer(rowInput.getExecutionEnvironment().getConfig())); } if (typeInfo instanceof PojoTypeInfo) { return new CassandraPojoSinkBuilder<>(input, input.getType(), input.getType().createSerializer(input.getExecutionEnvironment().getConfig())); } if (typeInfo instanceof CaseClassTypeInfo) { DataStream<Product> productInput = (DataStream<Product>) input; return (CassandraSinkBuilder<IN>) new CassandraScalaProductSinkBuilder<>(productInput, productInput.getType(), productInput.getType().createSerializer(input.getExecutionEnvironment().getConfig())); } throw new IllegalArgumentException("No support for the type of the given DataStream: " + input.getType()); }
Example #4
Source File: CassandraConnectorITCase.java From flink with Apache License 2.0 | 6 votes |
@Test public void testCassandraScalaTupleAtLeastOnceSinkBuilderDetection() throws Exception { Class<scala.Tuple1<String>> c = (Class<scala.Tuple1<String>>) new scala.Tuple1<>("hello").getClass(); Seq<TypeInformation<?>> typeInfos = JavaConverters.asScalaBufferConverter( Collections.<TypeInformation<?>>singletonList(BasicTypeInfo.STRING_TYPE_INFO)).asScala(); Seq<String> fieldNames = JavaConverters.asScalaBufferConverter( Collections.singletonList("_1")).asScala(); CaseClassTypeInfo<scala.Tuple1<String>> typeInfo = new CaseClassTypeInfo<scala.Tuple1<String>>(c, null, typeInfos, fieldNames) { @Override public TypeSerializer<scala.Tuple1<String>> createSerializer(ExecutionConfig config) { return null; } }; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<scala.Tuple1<String>> input = env.fromElements(new scala.Tuple1<>("hello")).returns(typeInfo); CassandraSink.CassandraSinkBuilder<scala.Tuple1<String>> sinkBuilder = CassandraSink.addSink(input); assertTrue(sinkBuilder instanceof CassandraSink.CassandraScalaProductSinkBuilder); }
Example #5
Source File: CassandraSink.java From flink with Apache License 2.0 | 6 votes |
/** * Writes a DataStream into a Cassandra database. * * @param input input DataStream * @param <IN> input type * @return CassandraSinkBuilder, to further configure the sink */ public static <IN> CassandraSinkBuilder<IN> addSink(DataStream<IN> input) { TypeInformation<IN> typeInfo = input.getType(); if (typeInfo instanceof TupleTypeInfo) { DataStream<Tuple> tupleInput = (DataStream<Tuple>) input; return (CassandraSinkBuilder<IN>) new CassandraTupleSinkBuilder<>(tupleInput, tupleInput.getType(), tupleInput.getType().createSerializer(tupleInput.getExecutionEnvironment().getConfig())); } if (typeInfo instanceof RowTypeInfo) { DataStream<Row> rowInput = (DataStream<Row>) input; return (CassandraSinkBuilder<IN>) new CassandraRowSinkBuilder(rowInput, rowInput.getType(), rowInput.getType().createSerializer(rowInput.getExecutionEnvironment().getConfig())); } if (typeInfo instanceof PojoTypeInfo) { return new CassandraPojoSinkBuilder<>(input, input.getType(), input.getType().createSerializer(input.getExecutionEnvironment().getConfig())); } if (typeInfo instanceof CaseClassTypeInfo) { DataStream<Product> productInput = (DataStream<Product>) input; return (CassandraSinkBuilder<IN>) new CassandraScalaProductSinkBuilder<>(productInput, productInput.getType(), productInput.getType().createSerializer(input.getExecutionEnvironment().getConfig())); } throw new IllegalArgumentException("No support for the type of the given DataStream: " + input.getType()); }
Example #6
Source File: CassandraConnectorITCase.java From flink with Apache License 2.0 | 6 votes |
@Test public void testCassandraScalaTupleAtLeastOnceSinkBuilderDetection() throws Exception { Class<scala.Tuple1<String>> c = (Class<scala.Tuple1<String>>) new scala.Tuple1<>("hello").getClass(); Seq<TypeInformation<?>> typeInfos = JavaConverters.asScalaBufferConverter( Collections.<TypeInformation<?>>singletonList(BasicTypeInfo.STRING_TYPE_INFO)).asScala(); Seq<String> fieldNames = JavaConverters.asScalaBufferConverter( Collections.singletonList("_1")).asScala(); CaseClassTypeInfo<scala.Tuple1<String>> typeInfo = new CaseClassTypeInfo<scala.Tuple1<String>>(c, null, typeInfos, fieldNames) { @Override public TypeSerializer<scala.Tuple1<String>> createSerializer(ExecutionConfig config) { return null; } }; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<scala.Tuple1<String>> input = env.fromElements(new scala.Tuple1<>("hello")).returns(typeInfo); CassandraSink.CassandraSinkBuilder<scala.Tuple1<String>> sinkBuilder = CassandraSink.addSink(input); assertTrue(sinkBuilder instanceof CassandraSink.CassandraScalaProductSinkBuilder); }
Example #7
Source File: StreamSchema.java From flink-siddhi with Apache License 2.0 | 4 votes |
public boolean isCaseClassType() { return typeInfo instanceof CaseClassTypeInfo; }
Example #8
Source File: StreamSchema.java From bahir-flink with Apache License 2.0 | 4 votes |
public boolean isCaseClassType() { return typeInfo instanceof CaseClassTypeInfo; }