写了一个SDK用来读写Parquet文件
Parquet是比较常见的数据格式,最近将数据的中间结果以parquet的形式进行了保存,在获取的时候需要读出内容,再以json的方式传递给前端进行使用。
不过在读取文件转json的时候碰到了问题,parquet虽然很常用,使用spark等框架读取基本也就是一两行代码的事,但是由于传输数据给前端的部分是web serve。
所以使用spark这样的框架有些许不合理,考虑使用java代码直接读取,能够拿来读取的库是:
<dependency> |
也算是比较官方的库,但是使用该库的to json api将一个parquet的文件转成json后格式是这样的:
data1: value1 |
但是实际的真是格式是:
"data1": "value1", |
这是因为在parquet里面所有的内容都会被包装成SimpleRecord,而我看了下SimpleRecord,里面有prettyPrintJson和toJsonObject,这两个方法的输出是接近需要的。
不过这两方法都是protected,于是想到只需要将这里面的方法重写即可,于是自己手动封装了一个java 的sd,用来read和write parquet文件,考虑到代码简洁我也没有使用lombok这样的工具包了。
地址参考:https://github.com/baifachuan/parquet-java-sdk
扫码手机观看或分享: