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、总结

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

相关推荐
刘一说39 分钟前
Nacos 与 Spring Cloud Alibaba 集成详解:依赖、配置、实战与避坑指南
spring boot·spring cloud·微服务·架构
周杰伦_Jay2 小时前
【Go 语言主流 Web】 框架详细解析
开发语言·后端·微服务·架构·golang
程序员皮皮林2 小时前
Redis:大数据中如何抗住2000W的QPS
大数据·数据库·redis
闲人编程2 小时前
Django微服务架构:单体应用拆分解耦实践
微服务·架构·消息队列·django·api·通信·codecapsule
颜颜yan_3 小时前
基于CANN多Stream异步执行的智能推理管道:突破传统串行瓶颈
运维·架构·stream·昇腾·cann
武子康3 小时前
大数据-169 Elasticsearch 入门到可用:索引/文档 CRUD 与搜索最小示例
大数据·后端·elasticsearch
v***91303 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
吴法刚4 小时前
Gemini cli 源码分析之-Agent分析-Agent架构系统分析
架构·agent·ai编程·gemini
拾忆,想起4 小时前
Dubbo服务超时与重试策略配置指南:构建 resilient 微服务架构
服务器·网络·微服务·云原生·架构·dubbo
懒麻蛇4 小时前
从矩阵相关到矩阵回归:曼特尔检验与 MRQAP
人工智能·线性代数·矩阵·数据挖掘·回归