Hi flink users and experts,
In my flink processor I am trying to use Flink Kinesis connector . I read from
a kinesis stream , and After the transformation (for which I use
RichCoFlatMapFunction), json event needs to sink to a kinesis stream k1.
DataStream<ObjectNode> myStream = see.addSource(new
FlinkKinesisConsumer<>(inputStream, new MyDeserializationSchema(),
consumerConfig));
For setting up the producer including partitioning I want to use
setCustompartitioner , but the problem is that I don’t know how to access a
parameters inside myStream , I have multiple fields that I want to extract from
the stream right there in the main method and use them in deciding the
partition key. is possible to choose a partition key that is prepared from the
stream ? if so can you please share an example.
kinesis.setCustomPartitioner(new KinesisPartitioner<String>() {
@Override
public String getPartitionId(String element) {
int l = element.length(); /// here I want to bring values extracted
from the stream
return element.substring(l - 1, l);
}
});
Thanks
Sathi
=============Notice to Recipient: This e-mail transmission, and any documents,
files or previous e-mail messages attached to it may contain information that
is confidential or legally privileged, and intended for the use of the
individual or entity named above. If you are not the intended recipient, or a
person responsible for delivering it to the intended recipient, you are hereby
notified that you must not read this transmission and that any disclosure,
copying, printing, distribution or use of any of the information contained in
or attached to this transmission is STRICTLY PROHIBITED. If you have received
this transmission in error, please immediately notify the sender by telephone
or return e-mail and delete the original transmission and its attachments
without reading or saving in any manner. Thank you. =============