目标:kafka protobuf--》row--》table--》sql--》hdfs。
问题:protobuf是嵌套结构,转成row时,制定type出现问题。
第一步:自定义反序列化方式,将protobuf转成row
第二步:for循环放入row
第三步:指定字段name和type时不生效
因为protobuf有嵌套,所以此处用Types.POJO。这个用法是否问题?
不是所有的class都能指定Type是POJO,需要满足有无参构造函数,有getter/setter方法。
对应flink解析Protobuf,可以参考 https://ci.apache.org/projects/flink/flink-docs-release-1.2/dev/custom_serializers.html
另外还有一种思路是,先把Probobuf转成Pojo Bean,然后注册Table的时候,看到的类型是Pojo Bean类型。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。