Blaze(一):前言

前言

Blaze生态系统为python用户对大数据提供了高效计算的高层接口。主要由Anaconda赞助。

应用领域

Blaze整合了包括Python的Pandas、NumPy及SQL、Mongo、Spark在内的多种技术,使用Blaze能够非常容易地与一个新技术进行交互。

Blaze目前主要用于数据库和数组技术的分析查询。并且它在不断地整合和提供基于其它计算系统的应用接口。Blaze主要通过为数据科学家提供直观的各种工具访问来展现性能。

Blaze生态系统:

  • Blaze项目:忽略用户使用的各种不同的计算方案和不同类型的数据库,为用户提供了统一、友好、熟悉的界面。它帮助我们更好地与文档、数据结构以及数据库进行交互,根据需要适当优化和转换用户查询语句以提供一个流畅和交互式会话。Blaze项目允许数据科学家和分析人员以统一的方式编写他们的查询语句,不必因为数据存储格式或存储介质的不同而进行转换。它还提供了一个服务器组件,允许使用URIs来方便地提供数据视图,并在本地脚本、查询和程序中远程引用数据。

    将NumPy/Pandas式的句法规则转换为数据计算系统(例如数据库、内存、分布式计算)。这为Python用户查询存储于其他数据存储系统中的数据提供了便捷和熟悉的界面。一条Blaze查询命令能够完成从CSV文件到分布式数据库的各种数据处理。

  • DataShape:数据类型系统

    结合了NumPy中的dtype和数据形状,并且将内容扩展到了缺失值、可变长度字符串、不规则数组以及多任意嵌套方面。它包含了从数据库到HDF5文件再到JSON片段数据类型的统一描述。

  • Odo:实现不同格式数据的转换

    利用一个复杂可扩展的转换网络,通过一个简单的界面有效稳定地实现了不同类型(CSV、JSON、数据库)和不同位置(本地、远程、HDFS)数据的传输和转换。

  • DyND:内存中的动态数组

    DyND是一个类似于NumPy一样的动态ND数组库,是一个实现数据格式类型处理的系统。它支持可变长度的字符串、不规则数据以及GPU。它是一个与Python绑定的独立的C++代码库。通常DyND比NumPy更具扩展性,但不如NumPy成熟。

  • Dask.array:多核/基于磁盘存储的Numpy数组

    Dask.dataframe:多核/基于磁盘的Pandas数据帧

    Dask.arrays在NumPy之上提供了阻塞算法,并利用多核处理大于内存的数组。它们是NumPy算法常用集的简单替换。

    Dask.dataframes在Pandas之上提供了阻塞算法,并利用多核处理大于内存的数据帧(dataframe),它们是Pandas用例算法集的简单替换。

    除了多核和多线程调度器外,Dask还利用简单装饰器和新生分布式调度器为用户提供了一个“Bag”类型数据和一种构建“任务图(task graphs)”的方法。

以上部分来自于博客http://hao.jobbole.com/blaze/

例子

Blaze将要执行的计算从数据的描述中分离

# coding: utf-8

from blaze import *


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]]

print(list(compute(deadbeats, L)))

df = DataFrame(L, columns=['id', 'name', 'amount'])
print(compute(deadbeats, df))

输出:

['Bob', 'Edith']
1      Bob
4    Edith
Name: name, dtype: object

Blaze不计算这些结果,它聪明地驱动其他项目来计算。这些项目从简单的纯python迭代器到高性能、分布式的spark集群。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FICO Blaze是一个基于Java平台的业务规则管理系统(BRMS),它提供了一系列的API和工具,用于开发和集成规则引擎到企业应用程序中。以下是FICO Blaze的技术开发文档: 1. Blaze API:FICO Blaze提供了完整的Java API,用于在Java应用程序中使用规则引擎。这些API包括规则执行引擎、规则管理、规则执行监听、决策表和决策模型等。 2. Blaze Rule Language (BRL):BRL是一种基于自然语言的规则语言,用于定义规则和规则集。它非常容易理解和维护,可以使业务用户快速定义和修改规则。 3. Blaze Decision Model and Notation (DMN):DMN是一种规则建模标准,它可以帮助企业更好地定义和管理决策模型。FICO Blaze支持DMN 1.1和1.2版本,可以将DMN定义直接导入到规则库中。 4. Blaze Management Console:FICO Blaze提供了一个管理控制台,用于管理规则库、版本控制、审批流程、测试和部署。这个控制台可以帮助企业更好地管理规则库,并确保规则的正确性和一致性。 5. Blaze Execution Server:FICO Blaze提供了一个高性能的规则执行引擎,可以快速评估和执行规则。它支持实时交互式决策和批量决策。此外,它还支持多种执行引擎,包括基于REST API的执行引擎和基于Java API的执行引擎。 6. Blaze Integration:FICO Blaze可以与现有的企业应用程序进行无缝集成,包括CRM、ERP、SCM等系统。它还支持各种标准,如XML、SOAP、REST等,以便与其他系统进行集成。 总之,FICO Blaze提供了完整的API和工具,用于开发和集成规则引擎到企业应用程序中。这些API和工具可以帮助企业更好地管理规则库和实现更高效率和更高质量的决策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值