我已经加载了一个 1.5GB 的 csv 文件并成功加载了我的表大小是 250MB 为啥会这样?

Posted

技术标签:

【中文标题】我已经加载了一个 1.5GB 的 csv 文件并成功加载了我的表大小是 250MB 为啥会这样?【英文标题】:I have loaded a 1.5GB csv file and successfully loading my table size is 250MB why this is so?我已经加载了一个 1.5GB 的 csv 文件并成功加载了我的表大小是 250MB 为什么会这样? 【发布时间】:2014-01-09 06:26:11 【问题描述】:

在 google Bigquery ....我在成功加载后从 googlstorage 加载了一个 1.5GB 的 csv 文件,....我的表大小是 250MB,为什么会这样?

【问题讨论】:

【参考方案1】:

可能是因为数字的二进制编码比将它们编码为字符串更有效。例如,字符串"1234567890" 占用 10 个字节(至少,如果是 UTF-16 编码则占用 20 个字节),但它可以用一个 4 字节整数表示,它只占用 4 个字节。

此外,bigquery 中的表也可以省略分隔符,因为它知道每个字段有多少字节宽。这是为每个 , 保存的另一个字节。

【讨论】:

这是一个宽泛的问题,您不妨从这里开始:en.wikipedia.org/wiki/BigTable 查看这个关于 BQ 对象大小估计的问题:***.com/questions/19906717/… 谢谢大家,我明白了... ***.com/questions/19906717/... – user2881671

以上是关于我已经加载了一个 1.5GB 的 csv 文件并成功加载了我的表大小是 250MB 为啥会这样?的主要内容,如果未能解决你的问题,请参考以下文章

将 CSV 文件加载到 NumPy memmap 数组使用太多内存

在更短的时间内将 50GB CSV 文件 Azure Blob 加载到 Azure SQL DB - 性能

用Spark读取庞大的CSV文件

sql转储文件..加载到mysql

在 R 中处理大型 csv 文件时避免挂断

如何批处理将多个文件夹下的excel文件(xls,xlsx,csv等)合并成一个文件?