I think it's not hard to do and once you start implement the interface you
will figure out by yourself.
- May I ask *what tool do you use* to parse the Schema that converts the
object to this json?
Here is what I did:
I created an object, called TulpeBus which would be the kind of messages
(objects) i'll be receiving from Kafka. When I receive this object from
kafka I'll extract the BusId and use that key for ignite and the value is
the rest of the content as one string, by calling my *specialized*
toString() method on the object.
In my example I'm passing an object. You probably will be getting an byte[]
from kafka which will need to be converted back to an object by the tool you
used to convert it in first place to byte[] before sending it to kafka.
*Here is myExtractor implementing the interface:*
public class MyExtractor implements StreamSingleTupleExtractor<TupleBUS,
Integer, String> {
@Override
public Entry<Integer, String> extract(TupleBUS msg) {
return new AbstractMap.SimpleEntry<Integer,
String>(msg.getBusId(),
msg.toString());
}
}
*Here is my TupleBus with specialized toString() method:*
public class TupleBUS {
int busId;
int busNumber;
long busDate;
String route;
long lastUpdated;
public TupleBUS(int busId, int busNumber, long busDate, String route,
long
lastUpdated) {
super();
this.busId = busId;
this.busNumber = busNumber;
this.busDate = busDate;
this.route = route;
this.lastUpdated = lastUpdated;
}
public int getBusId() {
return busId;
}
public int getBusNumber() {
return busNumber;
}
public long getBusDate() {
return busDate;
}
public String getRoute() {
return route;
}
public long getLastUpdated() {
return lastUpdated;
}
@Override
public String toString() {
return " [busNumber=" + busNumber + ", busDate=" + busDate + ",
route=" +
route + ", lastUpdated=" + lastUpdated + "]";
}
}
*Here is a main method to testIt:*
public class TestMyExtractor {
public static void main(String[] args) {
TupleBUS tulpe = new TupleBUS(3, 100, 1484092800000L, "A-B",
1495650596335L);
MyExtractor extractor = new MyExtractor();
System.out.println(extractor.extract(tulpe));
}
}
*Output:*
3= [busNumber=100, busDate=1484092800000, route=A-B,
lastUpdated=1495650596335]
I hope this example helps.
--
View this message in context:
http://apache-ignite-users.70518.x6.nabble.com/Kindly-tell-me-where-to-find-these-jar-files-tp12649p13192.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.