数据处理Faust、PyJava、GrimoireLab、Scriptis介绍

以下为你介绍的数据处理软件都可用在Linux系统上:Faust(Python 流处理)、PyJava(Java/Scala 与 Python 数据转换库)、GrimoireLab(用于软件开发分析的工具集)、Scriptis(交互式数据分析工具)。

1、Faust(Python 流处理)

Faust 是一个流处理库,将想法从 Kafka Streams 移植到 Python。

它在 Robinhood 用于构建高性能的分布式系统和实时数据管道,每天处理数十亿个事件。

Faust 提供流处理和事件处理,与 Kafka Streams,Apache Spark / Storm / Samza / Flink 等工具共享相似性.

它不使用 DSL,它只是 Python!这意味着您可以在流处理时使用所有您喜欢的 Python 库:NumPy,PyTorch,Pandas,NLTK,Django,Flask,SQLAlchemy,++。

Faust 需要 Python 3.6 或更高版本才能使用新的 async / await 语法和变量类型注释。

特性:

简单易使用、高度可用、快速、灵活性。

以下是处理传入订单流的示例:

# Python Streams

# Forever scalable event processing & in-memory durable K/V store;

# w/ asyncio & static typing.

import faust

app = faust.App('myapp', broker='kafka://localhost')

# Models describe how messages are serialized:

# {"account_id": "3fae-...", amount": 3}

class Order(faust.Record):

account_id: str

amount: int

@app.agent(value_type=Order)

async def order(orders):

async for order in orders:

# process infinite stream of orders.

print(f'Order for {order.account_id}: {order.amount}')

下载地址:https://github.com/robinhood/faust/

2、PyJava(Java/Scala 与 Python 数据转换库)

PyJava 是一个用于在 Java/Scala 和 Python 之间转换数据的库。

PyJava 引入了 Apache Arrow 作为交换数据格式,这意味着可以避免 Java/Scala 和 Python 之间的 ser/der,这可以加快通信效率。在 Java/Scala 端调用 Python 代码时,PyJava 将自动启动一些 Python worker 并将数据发送给 Python worker,一旦处理完毕,就将它们返回。Python worker 默认重用。

该库中的初始代码来自Apache Spark。

在Java/Scala端运行PyJava之前,请在目标python env中执行以下命令:

pip uninstall pyjava && pip install pyjava

下载地址:https://github.com/allwefantasy/pyjava

3、GrimoireLab(用于软件开发分析的工具集)

GrimoireLab 是一个用于软件开发分析的工具集。它包括一组协调的工具,用于从支持软件开发(存储库)的系统中检索数据,将其存储在数据库中,通过计算相关指标来丰富它,并使其易于运行分析和可视化。

该项目的目的是为以下方面提供开源平台:

1]、从与开源开发相关的几乎任何工具(数据源)收集自动和增量数据(源代码管理,问题跟踪系统,论坛等)。

2]、自动收集数据丰富,合并重复身份,添加有关贡献者从属关系、计算延迟、地理数据等的其他信息。

3]、数据可视化,允许按时间范围、项目、存储库、贡献者等进行过滤。

支持的数据来源:

数据处理Faust、PyJava、GrimoireLab、Scriptis介绍

使用 GrimoireLab 工具集中的工具,可以检索数据,将其存储在数据库中,进行分析,并生成漂亮的仪表板,以交互方式显示结果信息。

数据处理Faust、PyJava、GrimoireLab、Scriptis介绍

下载地址:https://github.com/chaoss/grimoirelab

4、Scriptis(交互式数据分析工具)

数据处理Faust、PyJava、GrimoireLab、Scriptis介绍

注:以上是同类系统对比图。

Scriptis是一款支持在线写SQL、Pyspark、HiveQL等脚本,提交给Linkis执行的数据分析Web工具,且支持UDF、函数、资源管控和智能诊断等企业级特性。

核心特点:

脚本编辑:多语言、自动补全、语法高亮、SQL语法纠错。

计算引擎:基于Linkis对接多计算引擎:Spark、Hive、TiSpark等。

运行时功能:Job全生命周期展示、错误码。

上下文:UDF和函数管理、函数共享、自定义变量。

结果集:多结果集支持、结果集别名自定义、结果集一键发布到报表系统。

数据库:数据库管理功能、文件(CSV/Excel)快速导入导出到表。

管理台:多租户资源管控、引擎参数个性化配置、任务和会话管理。

下载地址:https://gitee.com/WeBank/Scriptis

注明

以上就是数据处理Faust、PyJava、GrimoireLab、Scriptis的介绍内容,这些数据处理软件都能使用在Linux操作系统中。

栏目相关文章