永发信息网

Python 适合大数据量的处理吗

答案:4  悬赏:70  手机版
解决时间 2021-03-31 14:17
  • 提问者网友:鼻尖触碰
  • 2021-03-31 03:16
Python 适合大数据量的处理吗
最佳答案
  • 五星知识达人网友:执傲
  • 2021-03-31 04:24
百万级别数据是小数据,python处理起来不成问题,但python处理数据还是有些问题的

Python处理大数据的劣势:

1、python线程有gil,通俗说就是多线程的时候只能在一个核上跑,浪费了多核服务器。在一种常见的场景下是要命的:并发单元之间有巨大的数据共享或者共用(例如大dict),多进程会导致内存吃紧,多线程则解决不了数据共享的问题,单独的写一个进程之间负责维护读写这个数据不仅效率不高而且麻烦

2、python执行效率不高,在处理大数据的时候,效率不高,这是真的,pypy(一个jit的python解释器,可以理解成脚本语言加速执行的东西)能够提高很大的速度,但是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
全部回答
  • 1楼网友:舍身薄凉客
  • 2021-03-31 06:31
适合大数据处理。而不是大数据量处理。 如果大数据量处理,需要采用并用结构,比如在hadoop上使用python,或者是自己做的分布式处理框架。
大数据量处理使用python的也多。如果单机单核单硬盘大数据量(比如视频)处理。显然只能用c/c++语言了。
大数据与大数据量区别还是挺大的。 大数据意思是大数据的智慧算法和应用。 大数据量,早在50年前就有大数据量处理了。 中国大约在95年左右,大量引入PC机的大数据量处理。一个模型计算数据量大,而且计算时间通常超过一个星期,有时候要计算半年。
气象,遥感,地震,模式识别,模拟计算的数据量与计算量都是巨大的。当时远远超过互联网。 后来互联网发起起来以后数据量才上去。即使如此,数据的复杂度也还是比不上科学研究领域的数据。
python早些年就在科学研究和计算领域有大量的积累。所以现在python应用到大数据领域就是水到渠成。
  • 2楼网友:長槍戰八方
  • 2021-03-31 06:06
需要澄清两点之后才可以比较全面的看这个问题:
1. 百万行级不算大数据量,以目前的互联网应用来看,大数据量的起点是10亿条以上。
2.处理的具体含义,如果是数据载入和分发,用python是很高效的;如果是求一些常用的统计量和求一些基本算法的结果,python也有现成的高效的
库,C实现的和并行化的;如果是纯粹自己写的算法,没有任何其他可借鉴的,什么库也用不上,用纯python写是自讨苦吃。
python的优势不在于运行效率,而在于开发效率和高可维护性。针对特定的问题挑选合适的工具,本身也是一项技术能力。
  • 3楼网友:狂恋
  • 2021-03-31 04:40
用Python来做整个流程的框架,然后核心的CPU密集操作部分调用C函数,这样开发效率和性能都不错,但缺点是对团队的要求又高了(尤其涉及到Python+C的多线程操作)...所以...鱼与熊掌不可兼得。如果一定要兼得,必须得自己牛逼。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯