ChunJun FTP Connector 功能扩展解读

这篇具有很好参考价值的文章主要介绍了ChunJun FTP Connector 功能扩展解读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文将从 FTP Connector 的功能详解,自定义文件切割及自定义 FileFormat 三个方面为大家带来 ChunJun FTP Connector 的功能扩展分享。

FTP Connector 详解

FTP 是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层,提供一种在服务器和客户机之间上传和下载文件的有效方式。

FTP Connector 基本功能

ChunJun FTP Connector 基本功能如下:

· 支持 FTP 协议 与 SFTP 协议读写;

· 支持断点续传;

· 支持并发读写;

· 支持多种文件格式的读写。

断点续传

主要的类:Position,Data,FtpFileReader,代码如下:

ChunJun FTP Connector 功能扩展解读
ChunJun FTP Connector 功能扩展解读

并发读写

代码如下:

ChunJun FTP Connector 功能扩展解读

自定义文件切割

ConcurrentFileSplitFactory 像一个工厂,通过这个工厂去创建其他的类,包括 ConcurrentZipCompressSplit、ConcurrentCsvSplit 以及默认的 DefaultFileSplit,类结构如下图:

ChunJun FTP Connector 功能扩展解读

处理流程

FTP 读取文件时,通过 ConcurrentFileSplit 对文件进行切割,切割成多个 FTPFileSplit,配置到 Channel 中,最后根据 FileSplit 保存的信息,自定义读取文件。

ChunJun FTP Connector 功能扩展解读

处理逻辑

· 使用 maxFetchSize 配置,当同步的文件大于这个值时,开启大文件切割功能

· 对文件进行分析,构建分片,以文件大小1.2G、分片数4举例,每个分片数处理的数据量约等于1.2G / 4 = 300M

其中使用的分片构建算法逻辑如下:

1)从第300M偏移量开始读文件,按单个字节遍历文件,记录下一个'\n'的文件偏移量,如300.1M,第一个分片处理文件的范围就是0~ 300.1M

2)第二个分片从 300.1M + 300M开始读文件,遍历文件,记录下一个'\n'的文件偏移量,如600.3M,第二个分片处理文件的范围就是300.1M~ 600.3M

3)以此类推, 构建完所有的分片

· 单个文件的数据在多个通道并发读取后,写入目标表时,无法对多个通道的数据按原文件中记录的顺序进行写入

单个并行度读取耗时为122s:

ChunJun FTP Connector 功能扩展解读

8个并行度读取平均耗时为88s:

ChunJun FTP Connector 功能扩展解读

自定义 FileFormat

自定义 FlieFormat 同样是以工厂模式实现的,ChunJun 目前已实现 Excel、Csv、Text 三种文件结构,当前仍然局限于 FTP,后续会扩展成公共模块,独属于 ChunJun 的 Format。类结构如下图:

ChunJun FTP Connector 功能扩展解读

ChunJun 设计方案

FTP 增加的功能点如下:

· FTP支持用户自定义解析方式;

· FTP 支持自定义数据转换。

针对上述新增功能点 ChunJun 设计方案如下:

· FTP soource 新增参数 customFormatClassName:自定义解析器类名

· 抽象出公共模块,定义解析器接口 IFileReadFormat ,解析方式由用户实现以及 ChunJun 自带的实现

大量具体代码请看视频教程⬇️:

视频课程&PPT获取

视频课程:

https://www.bilibili.com/video/BV1Gm4y1a7Fv/?spm_id_from=333.999.0.0

课件获取:

https://www.dtstack.com/resources/1044

《数栈产品白皮书》:https://www.dtstack.com/resources/1004?src=szsm

《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001?src=szsm

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szbky

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术qun」,交流最新开源技术信息,qun号码:30537511,项目地址:https://github.com/DTStack文章来源地址https://www.toymoban.com/news/detail-466888.html

到了这里,关于ChunJun FTP Connector 功能扩展解读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小知识点系列(十四) 本文(3万字) | 解深度解读损失函数 | CrossEntropy | BCE | BCEWithLogits | NLL |MSE | L1 |

    点击进入专栏: 《人工智能专栏》 Python与Python | 机器学习 | 深度学习 | 目标检测 | YOLOv5及其改进 | YOLOv8及其改进 | 关键知识点 | 各种工具教程

    2024年02月22日
    浏览(45)
  • 【Trino实战】Hive connector功能性文档

    Trino需要使用Hive下的 元数据服务(HMS)和对象存储系统(HDFS),协调器和所有的工作机需要和他们是保证网络畅通。 该连接器提供对配置的对象存储系统和元数据存储中的数据和元数据的读取访问和写入访问: 全局可用语句 读操作 写操作 安全操作 事务 基础使用案例 创建内

    2024年02月07日
    浏览(36)
  • 工具系列(七) 本文(4万字) | Git入门教程 | 初始本地仓库-推送合并到远程仓库 | 解读VScode与PyCharm配置与使用git | CodeGeeX与Tabnine使用 |

    点击进入专栏: 《人工智能专栏》 Python与Python | 机器学习 | 深度学习 | 目标检测 | YOLOv5及其改进 | YOLOv8及其改进 | 关键知识点 | 各种工具教程

    2024年02月21日
    浏览(42)
  • 高性能、高扩展、高稳定:解读 EasyMR 大数据组件自定义可扩展能力

    随着互联网技术的不断发展以及大数据时代的兴起,企业对于数据分析和洞察的需求日益增长。大多数企业都积累了大量的数据,需要从这些数据中快速灵活地提取有价值的信息,以便为用户提供更好的服务或者帮助企业做出更明智的决策。 然而在不同的数据场景中,企业往

    2024年02月16日
    浏览(28)
  • TCP实现FTP功能

    目录 server client makefile  运行顺序 FTP(File Transfer Protocol)是一种用于在计算机网络上传输文件的标准协议。 它允许用户通过网络将文件从 一个计算机(称为FTP服务器)传输到另一个计算机(称为FTP客户端) 以下是FTP的一般工作流程: 建立连接:客户端使用FTP客户端软件连

    2024年02月16日
    浏览(22)
  • FTP客户端c代码功能实现

    现在市面上有很多免费的FTP软件:如FileZilla ,那如果想自己在代码中实现与ftp服务器的上传下载文件该如何实现那?  本质上ftp协议就是TCP基础上建立的一种协议,具体如下。 文件传输协议(FTP)作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用。FTP的目标是

    2024年02月02日
    浏览(38)
  • 利用wireshark lua扩展能力增加自定义解析器[注释解读版]

    Wireshark 提供了lua扩展能力,可以定制一些 Listner 和 Dissector ,用于一些自定义的使用场景,例如: lua插件 适应场景 Listener 报文统计、内容抽取等 Dissector 协议树解析,在wireshark中立等可看 已在以前的文档中积累了对于 Listener 的使用,见Listener。 本文将继续介绍下 Dissector 的扩

    2024年01月21日
    浏览(32)
  • 【论文解读】SiamMAE:用于从视频中学习视觉对应关系的 MAE 简单扩展

    来源:投稿 作者:橡皮 编辑:学姐 论文链接:https://siam-mae-video.github.io/resources/paper.pdf 项目主页:https://siam-mae-video.github.io/ 时间是视觉学习背景下的一个特殊维度,它提供了一种结构,在该结构中,可以感知顺序事件、学习因果关系、跟踪物体在空间中的移动,以及预测未

    2024年01月18日
    浏览(31)
  • H3C路由如何建立FTP服务功能操作方法

    相信FTP服务器大家一定不会陌生,很多人都用过,尤其是对于一些经常出差,又要用到一些公司文件的人来说,架设一台FTP服务器,可以随时随地的连接获取到自己想要资料,能够迅速的处理好公司的事务,今天我们就以H3C路由器为大家介绍如何建一个FTP服务,它需要哪几个

    2024年02月05日
    浏览(31)
  • Chunjun数据同步工具初体验

    chunjun (纯钧) 官方文档纯钧 chunjun 有四种运行方式:local、standalone、yarn session、yarn pre-job 。 运行方式/环境依赖 flink环境 hadoop环境 local × × standalone √ × yarn session √ √ yarn pre-job √ √ 官网已经提供了编译好的插件压缩包,可以直接下载:https://github.com/DTStack/chunjun/releases

    2024年02月03日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包