首页 > 解决方案 > 从没有任何 POJO/DTO JAVA 的 MYSQL 表生成动态 AVRO Schema

问题描述

我想从 MySql 表创建一个 Avro 模式,以便我可以.avro使用 JAVA 将记录序列化到文件中

try
{
    prop = ConnectionManager.loadPropertiesFile();
    conn = ConnectionManager.getDatabaseConnection(prop);
    String query = "Select * from users LIMIT 10;";
    st = conn.createStatement();
    rs = st.executeQuery(query);
    ResultSetMetaData md = rs.getMetaData();
    
    JSONArray array = new JSONArray();
    int columns = md.getColumnCount();
    while(rs.next()) {
        JSONObject record = new JSONObject();
        for(int i = 1; i <= columns; ++i){
            record.put(md.getColumnName(i), rs.getObject(i));
        }
        array.put(record);
    }
   System.out.println(array);
    
    
    //Schema schema = ReflectData.get().getSchema(POJOCLASS);
    //System.out.println("schema created: "+ schema.toString());
}

我想在没有 POJOCLASS 的情况下在 avro 中动态生成模式

标签: javamysqlschemaavro

解决方案


推荐阅读