问题
源数据文件F中k千万条记录,可以分为n类,每个类可以映射为一种类,最后要它们写入n个对应的文件。F的数据相对于用户是黑盒,只知道F的schema。所以,用户不能提前知道n个文件的名字,但是程序可以自己去解析F。
巧妙的解法是,构造一个Baseclass存储所有n个类对应的k千万个对象,BaseClass有一个Map来序列化对象的所有属性名和属性值。然后利用排序接口将所有对象存入有序列表,这样同一种类的对象就会排列在一起。然后再遍历这个列表反序列化对象,写入文件。
源数据文件F中k千万条记录,可以分为n类,每个类可以映射为一种类,最后要它们写入n个对应的文件。F的数据相对于用户是黑盒,只知道F的schema。所以,用户不能提前知道n个文件的名字,但是程序可以自己去解析F。
巧妙的解法是,构造一个Baseclass存储所有n个类对应的k千万个对象,BaseClass有一个Map来序列化对象的所有属性名和属性值。然后利用排序接口将所有对象存入有序列表,这样同一种类的对象就会排列在一起。然后再遍历这个列表反序列化对象,写入文件。