为什么从Stream Analytics中保存的天蓝色镶木地板文件这么大?

时间:2020-09-16 06:20:21

标签: azure parquet azure-stream-analytics

我正在运行一些使用流分析将木地板文件保存到Blob存储区的测试。当我尝试使用镶木地板文件类型时,文件的大小似乎太大。

例如,当我从azure blob存储下载文件时,我的文件大小为153 KB。然后,当我使用熊猫读取它并再次将其另存为实木复合地板文件时(无需进行任何其他处理)。它减少到17 KB。

import pandas as pd

df = pd.read_parquet('downloaded_from_azure.parquet') # has a size of 153 KB
df.to_parquet('pandas.parquet') # has a size of 17 KB
df.to_csv('pandas.csv') # 176 KB

所以在我看来,Azure Stream Analytics保存的实木复合地板文件的大小是用熊猫处理时的9倍。这是一个错误吗?我想念什么吗?微软是否正在尝试从存储中赚取额外的钱?

1 个答案:

答案 0 :(得分:1)

该问题似乎是由于文件压缩引起的。 Azure Stream Analytics目前不支持文件压缩,因此文件大小=原始数据大小+元数据大小(页眉/页脚/列和类型定义等)。我怀疑您使用的熊猫库默认情况下已启用压缩。

ASA不这样做的主要原因是为了提高流式作业的吞吐量,但是我们当然可以考虑将文件压缩作为用户配置来进行研究,例如gzip和snappy。