云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

天翼云_香港云主机哪家好_好用

小七 141 0

数据(处理)管道和数据工作流位于SAP Data Hub的中心。我想把接下来的几篇博文都献给他们。

你可能会说:"嘿,等等……你为什么在一篇关于图形的博文中谈论数据管道和数据工作流?"。我将在几分钟内对此进行解释。

如果您想逐步了解如何构建数据管道和数据工作流,请查看文档,使用SAP data Hub、developer edition/trial edition或阅读Jens Rannacher优秀系列教程。

在我看来,数据管道和数据工作流的基础知识很容易掌握。真正了解"幕后"发生了什么需要你有一些夏洛克基因来研究。让我们开始调查。

SAP Data Hub(更准确地说,SAP Data Hub Modeler)允许您构建图形。它们作为Kubernetes集群上的容器执行。sapdatahub的建模指南说:

我想重申一个方面:操作符——因此也包括图形——并不打算终止。就其本身而言,图形运行"永远"。您需要显式终止图形(通过SAP Data Hub Modeler或通过在图形内部建模终止)。

示例:你好,返利app开发,World!

让我们看几个示例图。这些图并不是用来解释如何摄取或转换数据的。它们背后的唯一意图是说明图形是如何工作的。

下面我喜欢称之为"你好,世界!"图形(链接到GitHub)。这是"你好,世界!"图由一个常量生成算子和一个终端算子组成。它们在输出(output)端口和输入(in1)端口之间进行通信:

让我们配置常量生成器操作符,以发出字符串"Hello,World!"每秒通过输出端口。配置如下:

字符串"你好,世界!"通过in1(输入)端口传送给终端操作员:

当您运行图形时,它进入"挂起"(准备中)状态,然后进入"运行"状态。当您现在查看终端操作符的输出时,购物返现,您会看到如下内容:

图形将继续"永远"运行。你必须明确地终止它。终止后,图形进入状态"completed"(如果图形出现问题,状态将为"dead"):

示例:Chat

接下来,让我们稍微更改一下图形(链接到GitHub)。首先调整常量生成器操作符的配置,使其只发出字符串"Hello,World!"当数据通过in(输入)端口传送时:

第二步将终端操作符的out1(输出)端口连接到常量生成器操作符的in(输入)端口:

当您运行图表并查看终端的输出时,您最初什么也看不到。输入"你好,那里!"看看会发生什么:

字符串"你好,那里!"(1) 发送给常量生成器操作员。这个操作符发送(返回)字符串"你好,世界!"(2) .

示例:与Termination聊天

最后,让我们看看如何在您输入"再见"后立即终止图形在终端中(链接到GitHub)。其中添加了一个JavaScript操作符和一个图形终止符:

JavaScript操作符有一个in1输入端口和两个out1和out2输出端口。所有端口都以字符串形式输入。

JavaScript操作符中的以下代码确保您在终端中输入的任何内容都被发送到常量生成器操作符,除非您输入"Bye!"再见!"发送到图形终止符:

运行图形并查看发生了什么:

当您输入"你好,那里!"(1) ,然后"你好,世界!"(2) 出现。当你输入"再见!"(3) ,什么都没有出现,图形进入"完成"状态,

现在,让我回到关于图形、数据管道和数据工作流之间的区别的问题上,

在概念层面上,用UML,我想这样描述三个术语之间的关系:

图形可以是数据管道或数据工作流。另一方面,大数据可视化,数据管道和数据工作流是图形的专门化:

数据管道用于处理数据。因此,管道操作符(即数据管道中使用的操作符)通常接收和发送数据(这是一个宽泛的术语,为了这个博客,我将不详细定义它)。数据管道通常是非终止图。数据工作流用于编排(数据处理)任务(可能跨系统)。它们使用工作流操作符,接收和发送状态消息/触发器,并且有一个定义的开始和结束。

从技术层面和实用角度来看,我倾向于说:

SAP Data Hub本身目前没有准确地将数据管道和数据工作流分开。在许多地方,它只"知道"图形。"something"是数据管道还是数据工作流取决于建模(以及图形中使用的操作符)。SAP Data Hub确实包含遵循某些约定的专用工作流操作员:当(仅)在图形中使用工作流运算符时,可以将此图形视为数据工作流。

示例:数据管道

以下图形(作为com.sap.demo.hana是一个数据管道,因为它处理数据。这些数据"流经"图表,i、 e.从数据生成器的输出端口通过1:2多路复用器到SAP HANA客户端的数据端口:

我们可以通过添加一个WiretapOperator(链接到GitHub)看到数据"流经"图形:

示例:数据工作流