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相关推荐

  1. [源码解析] 从TimeoutException看Flink的心跳机制

    [源码解析] 从TimeoutException看Flink的心跳机制 文章目录 [源码解析] 从TimeoutException看Flink的心跳机制 0x00 摘要 0x01 缘由 0x02 背景 ...

  2. 【Flink图计算源码解析】开篇:Flink图计算总览

    文章目录 1. 图计算的作用 2. 本专题的写作目的 3. Flink Gelly引擎总览 3.1. Gelly的源码结构 1. Graph的存储数据结构 2. 图的类别 3. 图的验证以及指标 4. ...

  3. Flink 源码解析 —— 源码编译运行

    更新一篇知识星球里面的源码分析文章,去年写的,周末自己录了个视频,大家看下效果好吗?如果好的话,后面补录发在知识星球里面的其他源码解析文章. 前言 之前自己本地 clone 了 Flink 的源码,编 ...

  4. Seatunnel提交任务到Flink集群源码解析

    一:首先查看seatunnel提交任务到flink集群的时候的shell脚本start-seatunnel-flink-13-connector-v2.sh,查看最后会调用一个类FlinkStarte ...

  5. 谷歌BERT预训练源码解析(二):模型构建

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_39470744/arti ...

  6. 谷歌BERT预训练源码解析(三):训练过程

    目录 前言 源码解析 主函数 自定义模型 遮蔽词预测 下一句预测 规范化数据集 前言 本部分介绍BERT训练过程,BERT模型训练过程是在自己的TPU上进行的,这部分我没做过研究所以不做深入探讨.BE ...

  7. 谷歌BERT预训练源码解析(一):训练数据生成

    目录 预训练源码结构简介 输入输出 源码解析 参数 主函数 创建训练实例 下一句预测&实例生成 随机遮蔽 输出 结果一览 预训练源码结构简介 关于BERT,简单来说,它是一个基于Transfo ...

  8. Gin源码解析和例子——中间件(middleware)

    在<Gin源码解析和例子--路由>一文中,我们已经初识中间件.本文将继续探讨这个技术.(转载请指明出于breaksoftware的csdn博客) Gin的中间件,本质是一个匿名回调函数.这 ...

  9. Colly源码解析——结合例子分析底层实现

    通过<Colly源码解析--框架>分析,我们可以知道Colly执行的主要流程.本文将结合http://go-colly.org上的例子分析一些高级设置的底层实现.(转载请指明出于break ...

最新文章

  1. [c、c++]宏中#和##的用法(zz)
  2. Java时间和日期指南
  3. bash命令行中带通配符参数何时展开??
  4. Linux lua 性能,systemTab动态分析linux下lua性能
  5. 新发现的两个Delphi要点。
  6. Oracle中表pagesize,Oracle 解决显示凌乱串行问题时column、pagesize、linesize的设定
  7. Linux 网络抓包
  8. Java加密压缩文件
  9. Linux 误删除文件恢复
  10. windy比较级_形容词和副词比较级知识点讲解及练习
  11. 【国信安实训】——文件上传漏洞
  12. 灵遁者散文小说集《从今往后》:永远都是开始
  13. 为什么HashMap使用红黑树而不使用AVL树
  14. java response.write_response.write()区别response.getWrite().write()
  15. Mac下查找支持的字体
  16. ant安装和ant的环境配置
  17. 嵌入式linux ASoC架构声卡驱动开发
  18. windows server2016服务器对office online server2016进行搭建
  19. 共享出行化解城市交通难题(下)
  20. 维基百科中文创始人_维基百科的创始人正在建立一个社区运营的新闻网站

热门文章

  1. Python全栈工程师(4:函数)
  2. Python中的bbox_overlaps()函数详解
  3. RocketMQ中的消息类型种类(二)
  4. 【NOIP2013模拟10.23】君と彼女の恋
  5. IDEA git上传码云、GitHub、华为云
  6. LintCode-解码方法
  7. 技术人攻略访谈三十八-许式伟:十一年逆流顺流,首席架构师到CEO
  8. 网络安全必学知识点之XSS漏洞
  9. 【智能车学习】电磁车算法优化总结
  10. 线段树进阶之清风拂面