SeaTunnel 2.1.2的源码解析(5)seatunnel-connectors-flink-http
SeaTunnel 2.1.2的源码解析(5)seatunnel-connectors-flink-http
- 本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star
- 一、seatunnel-connectors-flink-http
- 1.总览
- 2.源码分析
本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star
提示:以下是本篇文章正文内容,下面源码分析可供参考,如有出错请指正!
一、seatunnel-connectors-flink-http
1.总览
2.源码分析
这里是SeaTunnel项目http连接的数据源端模块,可以读入基于http协议封装的数据接口。pom.xml引用依赖如下:
Http类的getData()函数如下:
public DataSet<Row> getData(FlinkEnvironment env) {//从文件路径读请求参数//文件路径格式, as a URI (e.g., "file:///some/local/file" or "hdfs://host:port/file/path")String syncValues = getSyncValues(env.getBatchEnvironment(), syncPath);LOG.info("sync values->{}", syncValues);//将json格式字符串的请求参数转换HashMapMap syncMap = jsonToMap(syncValues);if (!syncMap.isEmpty()) {requestMap.putAll(syncMap);}HttpClientResult response = new HttpClientResult();try {Map headerMap = jsonToMap(header);if (POST.equals(method)) {//发送Post请求response = HttpClientUtils.doPost(url, headerMap, requestMap);} else {//发送Get请求response = HttpClientUtils.doGet(url, headerMap, requestMap);}} catch (Exception e) {LOG.error("http call error!", e);throw new RuntimeException(e);}LOG.info("http respond code->{}", response.getCode());LOG.info("http respond body->{}", response.getContent());//返回数据集return env.getBatchTableEnvironment().toDataSet(env.getBatchTableEnvironment().fromValues(DataTypes.ROW(DataTypes.FIELD("rawMsg", DataTypes.STRING())),response.getContent()),Row.class);}
SeaTunnel 2.1.2的源码解析(5)seatunnel-connectors-flink-http相关推荐
- [源码解析] 从TimeoutException看Flink的心跳机制
[源码解析] 从TimeoutException看Flink的心跳机制 文章目录 [源码解析] 从TimeoutException看Flink的心跳机制 0x00 摘要 0x01 缘由 0x02 背景 ...
- 【Flink图计算源码解析】开篇:Flink图计算总览
文章目录 1. 图计算的作用 2. 本专题的写作目的 3. Flink Gelly引擎总览 3.1. Gelly的源码结构 1. Graph的存储数据结构 2. 图的类别 3. 图的验证以及指标 4. ...
- Flink 源码解析 —— 源码编译运行
更新一篇知识星球里面的源码分析文章,去年写的,周末自己录了个视频,大家看下效果好吗?如果好的话,后面补录发在知识星球里面的其他源码解析文章. 前言 之前自己本地 clone 了 Flink 的源码,编 ...
- Seatunnel提交任务到Flink集群源码解析
一:首先查看seatunnel提交任务到flink集群的时候的shell脚本start-seatunnel-flink-13-connector-v2.sh,查看最后会调用一个类FlinkStarte ...
- 谷歌BERT预训练源码解析(二):模型构建
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_39470744/arti ...
- 谷歌BERT预训练源码解析(三):训练过程
目录 前言 源码解析 主函数 自定义模型 遮蔽词预测 下一句预测 规范化数据集 前言 本部分介绍BERT训练过程,BERT模型训练过程是在自己的TPU上进行的,这部分我没做过研究所以不做深入探讨.BE ...
- 谷歌BERT预训练源码解析(一):训练数据生成
目录 预训练源码结构简介 输入输出 源码解析 参数 主函数 创建训练实例 下一句预测&实例生成 随机遮蔽 输出 结果一览 预训练源码结构简介 关于BERT,简单来说,它是一个基于Transfo ...
- Gin源码解析和例子——中间件(middleware)
在<Gin源码解析和例子--路由>一文中,我们已经初识中间件.本文将继续探讨这个技术.(转载请指明出于breaksoftware的csdn博客) Gin的中间件,本质是一个匿名回调函数.这 ...
- Colly源码解析——结合例子分析底层实现
通过<Colly源码解析--框架>分析,我们可以知道Colly执行的主要流程.本文将结合http://go-colly.org上的例子分析一些高级设置的底层实现.(转载请指明出于break ...
最新文章
- [c、c++]宏中#和##的用法(zz)
- Java时间和日期指南
- bash命令行中带通配符参数何时展开??
- Linux lua 性能,systemTab动态分析linux下lua性能
- 新发现的两个Delphi要点。
- Oracle中表pagesize,Oracle 解决显示凌乱串行问题时column、pagesize、linesize的设定
- Linux 网络抓包
- Java加密压缩文件
- Linux 误删除文件恢复
- windy比较级_形容词和副词比较级知识点讲解及练习
- 【国信安实训】——文件上传漏洞
- 灵遁者散文小说集《从今往后》:永远都是开始
- 为什么HashMap使用红黑树而不使用AVL树
- java response.write_response.write()区别response.getWrite().write()
- Mac下查找支持的字体
- ant安装和ant的环境配置
- 嵌入式linux ASoC架构声卡驱动开发
- windows server2016服务器对office online server2016进行搭建
- 共享出行化解城市交通难题(下)
- 维基百科中文创始人_维基百科的创始人正在建立一个社区运营的新闻网站