kettle从入门到精通 第九十一课 ETL之kettle http接口下载文件流

 1、场景需求

群里一位老朋友想通过http接口下载文件流,然后将文件流保存为文件存储到本地,如下图所示:

 2、做过应用程序研发,对http知识有所了解的,结合对方发的postman截图,一眼就知道了接口的真实面目。接口返回的content-type是application/octet-stream且有文件下载说明接口通过Reponse将文件流输出,接口本身是没有返回值的。不要问我为啥知道,这就是经验。如下图所示:

 3、开始折腾

1)首先通过python搞个文件流接口进行模拟,如下图所示:

 2)使用http post 组件请求python 文件下载接口,能接收到文件流,但是文件无法正常复原,如服务器输出的是zip文件,但是文本文件输出步骤将文件流写进了txt文件,原有组件无法解决此问题。

 4、kettle自定义插件/组件

1)通过原有步骤无法解决,咱们就自定义组件来解析文件流。自定义组件开发过程略。

将自定义插件文件放到kettle的plugins文件下,重启kettle即可通过左侧转换分类找到此组件,如下图所示:

 2)通过生成记录步骤来模拟http请求相关参数,如下图所示:

 3)javascript步骤来沟通header参数,如下图所示:

 4)通过kk自定义转换插件设置请求参数,{{xx}}表示从前面步骤获取字段值且自动替换,如下图所示:

 5)将demo发给朋友之后,将相关参数修改之后,完美实现。

 5、其他思路

1)通过js调用外部jar。

2)通过kettle调用pytohn脚本实现。

3)通过kettle的java步骤来实现。

4)通过shell脚本实现。

 

 

posted @   慕容尘轩  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2017-01-24 Hadoop家族学习路线图
点击右上角即可分享
微信分享提示