【Python开发】Python 适合大数据量的处理吗?
Python 适合大数据量的处理吗?
处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何?
1. 百万行级不算大数据量,以目前的互联网应用来看,大数据量的起点是10亿条以上。
2. 处理的具体含义,如果是数据载入和分发,用python是很高效的;如果是求一些常用的统计量和求一些基本算法的结果,python也有现成的高效的库,C实现的和并行化的;如果是纯粹自己写的算法,没有任何其他可借鉴的,什么库也用不上,用纯python写是自讨苦吃。
python的优势不在于运行效率,而在于开发效率和高可维护性。针对特定的问题挑选合适的工具,本身也是一项技术能力。
百万级别数据是小数据,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
python数据处理的包:
1. 自带正则包, 文本处理足够了
2. cElementTree, lxml 默认的xml速度在数据量过大的情况下不足
3. beautifulsoup 处理html
4. hadoop(可以用python) 并行处理,支持python写的map reduce,足够了, 顺便说一下阿里巴巴的odps,和hadoop一样的东西,支持python写的udf,嵌入到sql语句中
5. numpy, scipy, scikit-learn 数值计算,数据挖掘
6. dpark(搬楼上的答案)类似hadoop一样的东西
1,2,3,5是处理文本数据的利器(python不就处理文本数据方便嘛),4,6是并行计算的框架(大数据处理的效率在于良好的分布计算逻辑,而不是什么语言)
暂时就这些,最好说一个方向,否则不知道处理什么样的数据也不好推荐包,所以没有头绪从哪里开始介绍这些包
1、CPU密集型操作
即我们要计算的大数据,大部分时间都在做一些数据计算,比如求逆矩阵、向量相似度、在内存中分词等等,这种情况对语言的高效性非常依赖,Python做此类工作的时候必然性能低下。
2、IO密集型操作
假如大数据涉及到频繁的IO操作,比如从数据流中每次读取一行,然后不做什么复杂的计算,频繁的输入输出到文件系统,由于这些操作都是调用的操作系统接口,所以用什么语言已经不在重要了。
结论
用Python来做整个流程的框架,然后核心的CPU密集操作部分调用C函数,这样开发效率和性能都不错,但缺点是对团队的要求又高了(尤其涉及到Python+C的多线程操作)...所以...鱼与熊掌不可兼得。如果一定要兼得,必须得自己牛逼。
在spark集群下,我对对原来scala程序进行python重写。对过亿行级数据进行数据清洗整合操作。从执行任务的时间来看,scala执行效率比python重写程序高好多倍。
转载于:https://www.cnblogs.com/huty/p/8517936.html
【Python开发】Python 适合大数据量的处理吗?相关推荐
- 财务大数据比赛有python吗-Python 适合大数据量的处理吗?
我很喜欢用python,用python处理数据是家常便饭,从事的工作涉及nlp,算法,推荐,数据挖掘,数据清洗,数据量级从几十k到几T不等,我来说说吧 百万级别数据是小数据,python处理起来不成问 ...
- python能处理多大的数据-Python 适合大数据量的处理吗?
python 能处理数据库中百万行级的数据吗? 处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何? 王守崑,推荐系统,数据挖掘 需要澄清两点之后才可以比较全面的看这个问题: ...
- python循环次数查询_大数据量Mysql查询后经过循环使用python分片
1 问题描述: (1)使用mysql查询基础数据,这里只有三四个基础的查询条件,联了一个表,同时有limit分页了: (2)之后经过一系列逻辑处理,在这些处理中又包含了很多sql查询,而且是在第(1) ...
- 大数据量,海量数据 处理方法总结(转)
最近有点忙,稍微空闲下来,发篇总结贴. 大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到. 下面的方法是我对海量数据的处理方法 ...
- 大数据量及海量数据处理算法总结
下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题.下面的一些问题基本直接来源于公司的面试笔试题目, ...
- 大数据量涉及算法及常见问题
数据量的问题是很多面试笔试中经常出现的问题,比如 google.淘宝.百度. 腾讯 这样的一些涉及到海量数据的公司经常会问到. 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可 ...
- php 大数据量及海量数据处理算法总结
大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并 ...
- [转载]大数据量,海量数据 处理方法总结 作者phylips@bmy
转自:http://i.yoho.cn/473260/logview/1816730.html 大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数 ...
- 大数据量10道面试题及解析
大数据量10道面试题及解析 海量数据处理:十道面试题与十个海量数据处理方法总结 作者:July.youwang.yanxionglu. 时间:二零一一年三月二十六日 本文之总结:教你如何迅速秒杀掉:9 ...
最新文章
- SUSTechTripleH队墓志铭
- EXHCHANGE2003总结-2: 备份与还原
- python多分支结构实例_JS优化多分支结构(经典)
- html中contentEditable属性
- python——Web服务开发(二)分布式缓存
- AI学习笔记(十一)CNN之图像识别(上)
- php中的几个字符串操作函数strtoupper strtolower ucwords ucfirst lcfirst函数
- Linux 配置mail发送邮件
- php redis令牌桶,php 基于redis使用令牌桶算法实现流量控制
- OPC UA SDK案例:虹科OPC UA SDK助力立功科技ZWS云平台
- 鲸探APP处罚60余位转售数字藏品用户 | 产业区块链发展周报
- 词向量转换回文本-以CMU-MOSI为例
- 基于C#+SQL Server实现(Web)学生选课管理系统【100010309】
- java内存可视化_JVM系列(六)、可视化工具介绍
- AVI 文件格式解析
- html使用阿里图标库(iconfont)制作字体图标
- Python:好租网商务楼数据爬取
- 安装dlib遇到的错误AttributeError: module 'dlib' has no attribute 'get_frontal_face_detecetor'
- 教育培训企业:如何优雅、机智地做邮件营销?
- k线顶分型 python_顶底分型的实战操作要点(转)
热门文章
- python 爬虫是什么_“python爬虫“是什么呢?
- 【Pytorch神经网络实战案例】08 识别黑白图中的服装图案(Fashion-MNIST)
- java操作日志记录_通用日志记录(java)
- JS数据结构与算法——选择排序(把小的数字依次往前放)
- python 代码文件路径注意事项
- python 清除字符串中的 emoji 表情
- 2020云栖大会编程限时抢答赛 - 早中晚3场题解
- 程序员面试金典 - 面试题 02.06. 回文链表(快慢指针+链表反转)
- nrf52832芯片手册_nRF52832低功耗问题不完全总结
- 日期传递过程_买东西别再只看生产日期和保质期了!快算算你一天吃了多少添加剂?...