1.简介
kafka中的数据通常以二进制或者字符串存储,本文是针对kafka中的二进制数据,自定义反序列化类,利用flink读取消费,将二进制数据反序列成指定的实体类对象。
2.代码实现
2.1编写自定义反序列化类继承AbstractDeserializationSchema,重写deserializer方法
package com.bigdata.deserializer;
import com.bigdata.bean.User;
import org.apache.flink.api.common.serialization.AbstractDeserializationSchema;
import java.io.IOException;
/**
* @ description: 将二进制数据反序列化为对应实体类
* @ author: spencer
* @ date: 2021/1/13 13:43
*/
public class UserDesrializationSchema extends AbstractDeserializationSchema<User> {
@Override
public User deserialize(byte[] bytes) throws IOException {
return new User(bytes);
}
}
2.2 Flink启动类
package com.bigdata.app;
import com.bigdata.bean.CanalRowData;
import com.bigdata.bean.User;