Avro 如何生成java Bean

作为一种很犀利的序列化的格式,avro在大数据量传输的时候很有优势。记录下。

1: .avsc 文件

{
    "namespace": "com.avro.bean",
    "type": "record",
    "name": "UserBehavior3",
    "fields": [
        {"name": "userId", "type": "long"},
        {"name": "itemId",  "type": "long"},
        {"name": "categoryId", "type": "int"},
        {"name": "behavior", "type": "string"},
        {"name": "timestamp", "type": "long"}
    ]
}

这里定义上字段名称,以及对应的字段类型。

目录结构如下:

Avro 如何生成java Bean_第1张图片

  • 放在main下一会儿要编译,不一定非得放到main下,也可以放到别的目录下,但是要注意和pom文件里的对齐。
  • 比如我放到另外的目录下:
    
    
    
    那么对应的配置我们改为对应的目录即可:
    
    
    
    
    
    "namespace": "com.avro.bean",这里定义了我们放置的目录
  • Avro 如何生成java Bean_第2张图片

2:执行compile

Avro 如何生成java Bean_第3张图片

java bean就自动生成了。

Avro 如何生成java Bean_第4张图片

备注:需要引入的依赖:


        


            
                org.apache.avro
                avro-maven-plugin
                1.8.2
                
                    
                        generate-sources
                        
                            schema
                        
                        
                            ${project.basedir}/src/main/avro/
                            ${project.basedir}/src/main/java/
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-compiler-plugin

                
                    1.7
                    1.7
                
            
        
    

你可能感兴趣的:(Flink,java,服务器,开发语言)