数据格式:
序列化:序列化最终的目的是为了对象可以跨平台存储和进行网络传输
Protocol Buffers
Parquet 是一种列式存储格式,旨在提供一种高效的方式来存储和处理大型数据集
Parquet 不是“运行时内存格式”,它属于文件格式
Avro 格式 是一种远程过程调用(RPC)和数据序列化语言,它允许基于Avro的结构读写数据
Arrow IPC 机制基于 Arrow 内存中格式
数据格式
json xml yaml
json: JSON (JavaScript Object Notation)
XML (eXtensible Markup Language)
Arrow 的核心数据结构是统一的列式内存格式:
定义一套通用数据结构和 API,使数据可以在不同的编程语言和计算引擎之间以零复制(zero-copy)的方式进行共享和交换,从而提高数据处理的效率
创建自定义数据结构来表示正在处理的内存中的数据集
应用:
JSON和XML适用于前后端数据交互,
Protocol Buffers和MessagePack适用于高性能的数据序列化,
而Java对象序列化在Java应用内部可以方便地进行对象持久化和传输
大批量结构化数据:使用 Parquet 将数据存储在磁盘上并以 Arrow 格式将其读入内存
其他序列化
Java对象序列化:`java.io.Serializable`接口来实现