一、 作为入门级案例,本篇通过简单的示例构建pipeline,让用户了解StreamSets的一些基本操作,包括pipeline基本配置,调试运行,实时监控,日志查看等。在这个pipeline实践案例中,会用到下面2个插件:
(1)Origin-Dev Data Generator:用于开发环境的模拟数据生成器,可按用户需求生成各种类型的Record数据。
(2)Destination-Local FS:将上游的Record数据保存到指定路径的本地文件中。
二、具体步骤如下:
1、登录StreamSets页面,点击左上角"Create New Pipeline",创建一个新的pipeline,Title随便定义;
2、随后会进入pipeline的编辑界面。在左侧或右侧的红框内选中Dev Data Generator,该组件将会出现在空白的画布区。

3、配置Dev Data Generator插件的参数:

4、添加Destination类型的插件:Local FS插件

5、配置Local FS插件的参数:

(1)注意右上的红框部分,需要用户自行将Origin节点和Destination节点进行连接。
(2)注意上图左侧的红框,点击错误提示后,会看到pipeline的Error Records配置中需要用户指定参数,使用Discard选项即可:

6、到此为止,我们完成了pipeline的配置。下面可以进行调试预览操作。
先熟悉下工具栏的主要按钮:

点击【配置校验】按钮,程序会检查pipeline的 配置是否正确。通过校验后,进行数据预览操作。点击【预览】按钮,会弹出Preview Configuration弹窗,一般可采用默认配置即可,然后点击弹窗右下角的Run Preview操作:

7、数据预览:经过上述操作,StreamSets开始模拟执行pipeline,下方的预览区可以查看实时的数据:

8、运行pipeline:先点击上图右上角的【取消预览】按钮,退出预览模式,返回到pipeline编辑界面;然后运行右上角的Start按钮,启动pipeline。
9、实时Summary信息:运行期间的pipeline会在下方展示实时信息:

10、实时日志:
点击工具栏日志查看按钮,新的页面会实时输出运行日志:

11、最终结果查看:该pipeline通过Origin生成模拟数据,并随后保存到本地文件系统指定目录中。通过登录StreamSets服务器,并进入配置的文件目录,可以查看文件中的数据:
[admin@streamset-server ~]$ cd /tmp/out/2020-11-22-14[admin@streamset-server 2020-11-22-14]$ lltotal 48-rw-r--r-- 1 sdc sdc 45133 Nov 22 22:59 _tmp_sdc-31c680fd-1838-11eb-a95d-d319e0fad91a_0[admin@streamset-server 2020-11-22-14]$ head -n 10 _tmp_sdc-31c680fd-1838-11eb-a95d-d319e0fad91a_0{"id":0,"user_email":"audrey.armstrong@hotmail.com","create_time":2507311}{"id":1,"user_email":"dameon.gutmann@gmail.com","create_time":20116311}{"id":2,"user_email":"willy.yost@gmail.com","create_time":-9445689}{"id":3,"user_email":"delphia.hintz@hotmail.com","create_time":41176311}{"id":4,"user_email":"deon.ziemann@yahoo.com","create_time":30190311}{"id":5,"user_email":"roslyn.jast@gmail.com","create_time":19158311}{"id":6,"user_email":"michale.pagac@gmail.com","create_time":-19291689}{"id":7,"user_email":"emmet.simonis@yahoo.com","create_time":-20896689}{"id":8,"user_email":"mabel.beahan@gmail.com","create_time":-17424689}{"id":9,"user_email":"tad.kub@hotmail.com","create_time":33649311}
三、总结
从上面的操作中可以看出,StreamSets的pipeline基本构建流程比较简单易懂。和实际程序开发相比,只需要简单的配置化操作,就能完成预定的目标。




