各种数据分析工具所能处理的数据量大概是多少?

时间:2024-03-03 13:36:19

数据科学交流群,群号:189158789 ,欢迎各位对数据科学感兴趣的小伙伴的加入!

 

1.Excel

Excel 处理的单表最大数据量为1048576行和16384列。一般来说处理规模在100万行以下的数据较为合适。

 

2.PowerBI

PowerBI Desktop一般处理的数据在1G左右再往上就会很卡,一般处理的规模在不大于1G或者说1000万行以下的数据较为合适。

 

3.MySQL

关于MySQL:

据D.V.B 团队以及Cmshelp 团队做CMS 系统评测时的结果来看,MySQL单表大约在2千万条记录(4G)下能够良好运行,经过数据库的优化后5千万条记录(10G)下运行良好。

所以我们姑且认为MySQL这样类似的数据库可以处理大概单表小于5000万行或者小于10G的数据比较合适。

 

4.Python:

Python做数据分析时一般会拥有一些常用的库,我们这里只说两个,一个是Pandas,另外一个是PySpark。

 

1)Pandas

与其他工具不同的时,pandas没有明显的行数限制,跟内存有关,可以参考网友的一篇文章:

最近,我用pandas处理了一把大数据…… - 知乎
https://zhuanlan.zhihu.com/p/272115312

这篇文章中提到:对于一个2G的文件,读取过程中内存占用会达到4G左右,大概是实际文件体积的两倍。

一般用户的单机内存在8-16G左右,有的可能到达32G,抛去4-8个G的系统占用,可以知道,实际能给Pandas做数据处理的空间很有限,一次最多加载几G到十几G的数据,这个处理量可以理解为比较适合处理1亿行(20G)一下的数据!

 

2)PySpark

Spark虽然是in memory的运算平台,但从官方资料看,似乎本身对内存的要求并不是特别苛刻。官方网站只是要求内存在8GB之上即可(Impala要求机器配置在128GB)Spark建议需要提供至少75%的内存空间分配给Spark,至于其余的内存空间,则分配给操作系统与buffer cache。

如果当系统内存不足的时候,spark 会将数据落地到磁盘,将 spark 当成 mapreduce的方式解决内存不足的问题。

 

①单机spark

在单机状态下,Spark能操作的数据只有本地磁盘上的数据,这个数据量取决你的本地磁盘容量大小。一般用户的电脑磁盘容量在500G到1T之间,所以我们可以大致得到使用此方式来处理1TB以下的数据量!

 

②分布式spark

在分布式状态下,Spark可以处理Hadoop生态中HDFS文件系统上的数据,这个数据量理论上是无上限的,因为分布式存储,其容量是可以通过增加节点的方式来扩展的,使得处理TB甚至PB级数据量成为可能!

 

数据科学交流群,群号:189158789 ,欢迎各位对数据科学感兴趣的小伙伴的加入!