特别感谢,我是接收数据的时候没有指定类型,所以会有错误,指定了类型就正确了,谢谢
public void newConsumerData(ConsumerRecord<String, byte[]> record) {}
特别感谢,我是接收数据的时候没有指定类型,所以会有错误,指定了类型就正确了,谢谢
public void newConsumerData(ConsumerRecord<String, byte[]> record) {}
你得这么解析,我这只是例子哈。
public boolean SaveSourceCodeBytes(List<byte[]> list, HTable table) throws Exception {
try {
int j = 0;
for (int i = 0; i < list.size(); i++) {
byte[] bytearray = list.get(i);
byte[] id = new byte[8];
System.arraycopy(bytearray, 0, id, 0, 8);
long terminal_id = CommonUtil.byteToLong(id);
你得需要这样设置:
Map<String, Object> props = new HashMap<>();
...
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, ByteArrayDeserializer.class);
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, ByteArrayDeserializer.class);
最后你需要知道你得字节定义,按照字节定义进行解析即可(比如:那哪几位一组,按照定义进行解析就行),不然你这样打印的肯定是乱码的