Streamsets实战系列(二) -- 采集第三方https接口数据并入库

1、业务背景

上一篇文章中,我们介绍了如何利用streamsets的组件实时采集日志信息并入库的实现方案,本文我们将继续探讨streamsets其他组件的强大功能。

日常开发中,我们经常会对接一些第三方接口数据,进行业务处理后进行存储的过程。其实通过正常的业务代码也可以轻松实现,比如引入第三方的sdk包,或者通过接口调用的形式进行访问。本文主要是通过ETL工具演示下streamsets如何不用写一行业务代码实现自动化采集的过程。

Talk is cheap, Actions speak louder than words。好了,开始我们的表演

2、流程实现

采集第三方https接口数据并入库时,流程的完整管道示意图如下所示:

具体实现按照以下步骤进行操作:

2.1 创建管道任务

在SDC中创建一个新的Pipeline,创建过程如下图

成功后进入如下页面

2.2 选择源并添加配置信息

第三方接口的配置信息,高级配置部分使用默认值即可

数据格式配置

2.3 流程选择器配置

该配置的作用是进行数据格式转换,由于list的数据结构在streamsets中不好处理,此处使用该组件将上游的list数据集合转换成便于处理的map数据格式,这样便于下游组件通过字段属性映射,然后取值入库。 Field To Pivot处的/data配置代表将上一个组件输入的数据封装到/data目录下,其实也可以使用/目录代表不做处理。

2.4 目标源配置

配置数据库连接信息、库名和表名

字段映射关系配置:配置数据库中的字段和当前组件的上一个组件输出的字段之间的对应关系,类似于mybatis的配置文件中实体类字段和数据库字段的映射。如果不配置,可能会报语法错误。如果上游组件的输出字段和数据库中字段一 一对应且名称相同,可以不用配置映射关系。此处数据库的字段和https接口返回的字段有不一样的地方,所以需要配置。

2.5 启动任务并查看结果

数据库入库数据信息如下:

可以看到,数据已经正常写入数据库了。

注意: 由于服务会一直运行,所以会重复将https数据写入数据的情况,如果仅需要执行一次,添加Pipeline Finisher Executor组件结束任务即可。

3、总结

好了,今天的内容就到这里。如果这篇文章对你有所帮助的话,希望可以一键三连哦,您的认可和鼓励就是我创作的最大动力!

相关推荐
IanSkunk15 分钟前
企业AI办公落地技术拆解:从WorkBuddy任务引擎到JOTO实施路径
大数据·人工智能
Xvisio诠视科技1 小时前
从“感知”到“理解”:空间计算如何成为具身智能世界模型的“数据底座”?
大数据·空间计算
张永伟营销1 小时前
从SEO到GEO:技术人视角下的生成式引擎优化架构与实践
搜索引擎·ai·架构
小柒儿3361 小时前
AI原生架构:企业IT从“业务数字化”到“AI原生重构”
重构·架构·ai-native
jerryinwuhan2 小时前
数据预处理技术 2026-2027-1 开篇-课程介绍
大数据·python
Elastic 中国社区官方博客2 小时前
Elastic 和 OpenAI 合作,将前沿智能引入非结构化企业数据
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai
千维百策6663 小时前
云服务性能下降事件分析:高可用架构与可用区疏散实践
架构
EnCi Zheng3 小时前
AI Agent(AI智能体) 记忆管理系统设计 — 从向量库边界到生产级 Memory(记忆) 架构
人工智能·架构
纵有疾風起3 小时前
从OSI到TCP/IP——分层架构的思想根源与模型之争
tcp/ip·计算机网络·架构·osi·408·体系结构·分层