火焰

blaze的Python项目详细描述


https://raw.github.com/blaze/blaze/master/docs/source/svg/blaze_med.png

Build StatusCoverage StatusJoin the chat at https://gitter.im/blaze/blaze

blaze转换修改后的numpy和pandas类语法的子集 数据库和其他计算系统。blaze允许python用户 熟悉其他数据存储系统中的数据查询界面。

示例

我们将blaze指向外部数据库(postgresql)中的一个简单数据集。 我们立刻就能看到结果,就像在熊猫数据框中看到的那样。

>>>importblazeasbz>>>iris=bz.Data('postgresql://localhost::iris')>>>irissepal_lengthsepal_widthpetal_lengthpetal_widthspecies05.13.51.40.2Iris-setosa14.93.01.40.2Iris-setosa24.73.21.30.2Iris-setosa34.63.11.50.2Iris-setosa

这些结果立即出现。blaze不从 postgres将python命令转换成sql(或者 其他。)

>>>iris.species.distinct()species0Iris-setosa1Iris-versicolor2Iris-virginica>>>bz.by(iris.species,smallest=iris.petal_length.min(),...largest=iris.petal_length.max())specieslargestsmallest0Iris-setosa1.91.01Iris-versicolor5.13.02Iris-virginica6.94.5

同样的例子也适用于广泛的数据库, 磁盘上的文本或二进制文件,或远程数据。

什么是火焰

blaze不执行计算。它依赖于其他系统,如SQL, 火花,或熊猫做实际的数字运算。它不是 更换这些系统。

blaze没有实现整个numpy/pandas api,也没有 与打算与numpy/pandas一起工作的库交互。这是 使用越来越大的数据系统的成本。

blaze是检查大型数据库中的数据、执行 一组小而强大的操作来查询数据,然后 将结果转换为适合您喜爱的python的格式 工具。

在摘要中

blaze分离我们要执行的计算:

>>>accounts=Symbol('accounts','var * {id: int, name: string, amount: int}')>>>deadbeats=accounts[accounts.amount<0].name

从数据的表示来看

>>>L=[[1,'Alice',100],...[2,'Bob',-200],...[3,'Charlie',300],...[4,'Denis',400],...[5,'Edith',-500]]

blaze使用户能够解决面向数据的问题

>>>list(compute(deadbeats,L))['Bob','Edith']

但是表达式和数据的分离允许我们在 不同的后端。

在这里,我们用熊猫而不是纯Python来解决同样的问题。

>>>df=DataFrame(L,columns=['id','name','amount'])>>>compute(deadbeats,df)1Bob4EdithName:name,dtype:object

blaze不计算这些结果,而是智能地驱动其他 而是计算它们的项目。这些项目包括 python迭代器到强大的分布式spark集群。熊熊燃烧 随着新系统的发展而扩展到新系统。

开始

blaze在conda或pypi上可用

conda install blaze
pip install blaze

可访问开发版本

conda install blaze -c blaze
pip install http://github.com/blaze/blaze --upgrade

您可能需要查看the docsthe tutorialsome blogposts,或mailing list archives

开发设置

使用conda安装所有blaze依赖项的最快方法是 遵循

conda install blaze spark -c blaze -c anaconda-cluster -y
conda remove odo blaze blaze-core datashape -y

运行这些命令后,从 直接使用Github。这三个项目一起发布。运行python setup.py develop以安装每个程序的开发。

许可证

根据BSD许可证发布。参见LICENSE.txt了解 细节。

Blaze Development由Continuum Analytics赞助。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java RFID不完整输出?   java如何构造一个for循环来查找每个数组的第一个索引的总和   java Eclipse AST解析器正在删除我的规则   安卓如何在java中创建“可重写”配置?   java每次我向应用程序添加图像时,它都会崩溃   Java 8流到文件   EntityNotFoundException的java可能原因   java多线程为什么下面的程序表现得如此怪异?   java footprint soap api+mavenjaxb2plugin   java MongoDB锁定,直到找到结果   java重写Jtable选项卡行为转到下一个可编辑单元格   java关于方法和创建另一个方法   java将人脸与图像分离   java复制Spring批处理作业实例   java TextView不会更改为新设置的文本