我正在尝试将数据帧保存为.arrow格式,主要是为了获得比CSV更好的大小,以便将该文件用于vega-lite
我正在使用python
import pandas
import pyarrow as pa
csv="C:/Users/mimoune.djouallah/data.csv"
arrow ="C:/Users/mimoune.djouallah/file.arrow"
dataset = pandas.read_csv(csv)
table = pa.Table.from_pandas(dataset)
writer = pa.RecordBatchFileWriter(arrow, table.schema)
writer.write(table)
writer.close()
我希望箭头文件小于csv,因为现在箭头稍大了
我尝试使用实木复合地板进行出口,结果符合预期
原始csv:4.4 MB 箭头:4.9 MB 实木复合地板:1.6 MB PowerBI(仅供参考):1.7 MB
答案 0 :(得分:1)
Arrow格式的目的不是优化存储大小,而是优化存储性能。与CSV相比,数据以二进制形式存储,以消除解析数据的开销。但是由于性能至关重要,因此数据既不压缩也不编码。
如果您想有效地存储数据但使用较小的数据量,则应该看看Apache Parquet。数据的存储方式与Arrow相似,但最有效的方法是减小存储大小。