아파치 스톰 (원격 클러스터에 배포 됨)보다 복잡한 객체 (opencv : Mat)를 직렬화해야합니다. 누구든지 나에게 좋은 튜토리얼 맞춤 kryo 직렬화를 제안하거나 이것을 수행하는 방법에 대한 해결책을 제안 할 수 있습니까? 미리 감사드립니다.kryo serialization over storm
1
A
답변
0
이 문제를 해결했습니다.
0
필요하다면 내가 그럼 난 다음과 시리얼을 만든
빈
public class DataBean{
Mat imageMatrix;
int id;
public DataBean(){
}
public DataBean(int id, Mat matrix) {
setId(id);
setImageMatrix(matrix);
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Mat getImageMatrix() {
return imageMatrix;
}
public void setImageMatrix(Mat matrix)
{
this.imageMatrix=matrix;
}
}을 만든 물어 주시기 바랍니다 :
public class DataBeankryo extends Serializer<DataBean> implements Serializable{
@Override
public DataBean read(Kryo arg0, Input arg1, Class<DataBean> arg2) {
DataBean bean=new DataBean();
bean.setId(arg1.readInt());
bean.setImageMatrix(arg0.readObject(arg1,org.opencv.core.Mat.class));
return bean;
}
@Override
public void write(Kryo arg0, Output output, DataBean bean) {
//arg0.register(org.opencv.core.Mat.class);
output.writeInt(bean.getId());
arg0.writeObject(output,bean.getImageMatrix(),arg0.getSerializer(org.opencv.core.Mat.class));
//arg0.writeClassAndObject(output, bean);
output.close(); }}
을 나는이 당신을 도울 수 있기를 바랍니다!
저는 또한 OpenCV Matrix를 Kryo와 직렬화하는 방법을 찾고 있습니다. Apache Storm이 아니라 Akka Remoting에 관한 것입니다. 당신의 시리얼 라이저는 어떻게 생겼습니까? – Toaditoad