我非常喜欢使用 python。用python处理数据是家常便饭。我从事的工作涉及nlp、算法、推荐、数据挖掘、数据清洗,数据量级从几十k到几TB
不等,我来说说吧
百万级别数据是小数据,python处理起来不成问题,python处理数据还是有些问题的
Python处理大数据的劣势:
1、python线程有gil。通俗的说就是多线程的时候只能跑在一个核上,浪费多核服务器。在一个常见的场景下是致命的:有巨大的
大数据共享或共享(如large dict),多进程会导致内存不足,多线程解决不了数据共享问题,一个单独的写进程负责维护和读取
写这个数据不仅效率不高而且麻烦
2、python的执行效率不高。处理大数据时,效率不高。这是真实的。 pypy(一个jit python解释器,可以理解为一种加速执行的脚本语言
things)可以提高很多速度,但是pypy不支持很多python经典包,比如numpy(顺便给pypy打个广告,土豪可以捐献PyPy——
Call for donations)
3.绝大部分的大公司,用java处理大数据不管是环境也好,积累也好,都会好很多。
推荐学习《
》
Python处理数据的优势(不是处理大数据):
1. 异常快捷的开发速度,代码量巨少
2. 丰富的数据处理包,不管正则也好,html解析啦,xml解析啦,用起来非常方便
3. 内部类型使用成本巨低,不需要额外怎么操作(java,c++用个map都很费劲)
4. 公司中,很大量的数据处理工作工作是不需要面对非常大的数据的
5. 巨大的数据不是语言所能解决的,需要处理数据的框架(hadoop, mpi。。。。)虽然小众,但是python还是有处理大数据的框
架的,或者一些框架也支持python
6. 编码问题处理起来太太太方便了
综上所述:
1. python可以处理大数据
2. python处理大数据不一定是最优的选择
3. python和其他语言(公司主推的方式)并行使用是非常不错的选择
4. 因为开发速度,你如果经常处理数据,而且喜欢linux终端,而且经常处理不大的数据(100m一下),最好还是学一下python
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Git 各指令的本质,真是通俗易懂啊02/07
- ♥ python密码生成器的使用10/29
- ♥ 如何在python中对字典进行排序08/14
- ♥ python解决中文注释的方法11/26
- ♥ 列表可以嵌套在python中吗?11/12
- ♥ python被广泛使用了吗?10/11
内容反馈