本教程介绍如何在数据管道中使用上一教程中创建的自定义操作符,以及如何在SAP Data Hub Pipeline Modeler中运行、监视和跟踪管道。
这是系列教程的第二篇文章:
SAP Data Hub–从基本操作符开发自定义管道操作符(第1部分)SAP数据中心—开发、运行、监控和跟踪数据管道(第2部分)SAP Data Hub–使用自己的Dockerfile(第3部分)
开发自定义管道操作符在下面,您将学习如何使用上一篇文章中创建的自定义天气传感器操作符来模拟从多个设备接收的传感器数据。本教程解释了如何通过终端可视化生成的数据,以及如何将数据持久化到连接的HDFS(Hadoop分布式文件系统)系统中。
1。在左侧的导航窗格中创建管道(图形)
,选择Graphs选项卡,点击+图标创建一个新的管道(图形):
该工具打开Graph Editor,可通过添加和连接预定义操作符对管道进行建模:
按[CTRL]+[S]或点击磁盘图标保存管道:
提供名称"WeatherSensorExample"和描述"Weather""传感器示例",然后单击确定:
2。添加自定义天气传感器操作员
打开左侧导航窗格中的操作员选项卡,并通过在搜索字段中键入名称来搜索天气传感器:
每次拖放到图形编辑器时,将天气传感器添加到管道:
您可以通过首先右键单击操作员来查看操作员的文档然后点击文档:
下一步,再次打开操作员的配置,右键点击:
在配置中,什么叫大数据云计算,我们可以保留所有的默认值,好评返现,但是将发送间隔增加到1000毫秒(1秒),这意味着天气传感器每秒发送1次测量:
3。添加一个具有多重性的组
接下来,我们要有5个并行发送测量数据的天气传感器实例。为此,我们将运算符添加到一个重数为5的组中。
通过右键单击运算符将运算符添加到组中,然后单击组:
运算符现在是组的一部分。右击打开该组的配置,进入该组的蓝色区域:
给该组一个有意义的描述,e、 g."Sensor Group"并将Multiplicity更改为"5":
Multiplicity控制在运行管道时在单独的Kubernetes pods中生成多少容器实例。
4.添加一个多路复用器操作符
接下来,我们要将Sensor Group的输出连接到两个后续操作符的输入。为了达到同样的效果,我们在管道中添加了一个1:2的多路复用器操作符
将一个1:2的多路复用器操作符拖放到管道中,您可以在操作符选项卡中的多路复用器类别中找到操作符:
单击天气传感器的输出端口,按住鼠标键并将指针移动到1:2多路复用器的输入端口,直到出现一个绿色圆圈,然后松开鼠标键连接两个运算符::
5.添加一个Javascript运算符
我们的计划是将测量值保存到HDFS数据池中。由于性能和大小方面的原因,我们不希望将单个度量放到HDFS中,因此我们将度量聚合到批中。我们通过定制一个Javascript操作符来实现这一点:
在Operators选项卡中的Multiplexer类别中添加一个Javascript操作符:
通过右键单击打开Javascript操作符的配置:
向operator实例添加一个新的属性,该属性允许我们稍后控制HDFS中每个文件聚合多少个度量:
Type名称"nummeasureperfile",选择类型"Text"和默认值"100",大数据前景如何,然后单击确定:
将操作符重命名为"CSV Aggregator":
按一下在图形编辑器中单击Javascript操作符时出现的脚本按钮:
Javascript片段在新选项卡中打开,用下面的脚本替换默认脚本,该脚本从操作符的配置中读取nummeasureperfile属性,并将给定数量的测量值聚合为单个字符串:
6.添加ToBlob转换器
CSV聚合器生成字符串类型的数据,但是我们需要将数据作为BLOB(二进制大对象)写入HDFS。因此,我们使用ToBlob转换器将字符串转换为BLOB。
在管道中添加ToBlob转换器,您可以在Operators选项卡的Converter类别中找到运算符:
将CSV Aggregator运算符的输出端口与ToBlob Converter的输入端口连接:
7.添加HDFS生产者
将HDFS生产者添加到管道中,您可以在Operators选项卡的category Connectivity中找到操作符:
将ToBlob Converter操作符的输出端口连接到Operator HDFS Producer的输入端口:
8。配置HDFS Producer:
右击打开HDFS Producer的配置:
提供HDFS Namenode主机和端口(使用SAP Data Hub Developer Edition时,可以在Docker控制台的日志输出中看到HDFS Namenode的主机名和端口,e、 g.172.18.0.2:9000)
提供写入HDFS/tmp/weather\u sensors/file\uDate>\uCounter>的文件路径和模式。csv:
9。分组运算符