FineDataLink实战案例分享【2024-09-19周】

楼主
我是社区第567266位番薯,欢迎点我头像关注我哦~

1、FDL最佳实践

1.1 获取目录下符合条件的文件,按写入方式读取入库并记录状

1)应用场景

用户业务流程中下发的文件,有特定的文件生成则代表下发完成。比如:文件下发完成后,目录下会生成与文件同名的 .ok 文件(用来判断文件是否下发完成)、.del 文件(根据值的不同判断写入方式)、.sql 文件。

现需要将已经下发完成(生成 .ok 文件)的 csv 文件按照 .del 记录的方式进行读取入库,并且读取文件后,需要记录已经读取完成的文件,以便在任务异常重启时避免重复写入。

2)实现思路

1)将需要遍历的目录生成参数,「Shell 脚本」节点使用该参数获取指定目录下的 .ok、.sql、.del 文件,将文件名和文件路径输入到 output.csv 中,然后根据 output.csv 文件数据,拼接出待读取的 csv 文件路径,将数据保存到到数据库表中。

2)根据第一步输出的数据库表,将 .del 文件(需要根据该文件判断写入方式)路径、待读取 csv 文件路径输出为参数。

3)遍历第二步的参数,执行以下步骤:

  • 判断文件是否已读取,若未读取,执行下面步骤。

  • 读取 del 文件数据并输出为参数,根据参数值的不同,判断写入方式,根据不同的写入方式,将数据写入不同的表中。

  • 记录已写入 csv 文件的路径、写入表、写入时间。

3)参考文档

详情请参见:获取目录下符合条件的文件,按写入方式读取入库并记录状态

1.2 FTP服务器中白名单文件自动传输与解压

1)应用场景

用户的业务数据以压缩包的形式每日进行下发,存储在 FTP 文件服务器对应的日期目录下,已经下发完成的压缩包文件会生成同名的 .ok 文件。

用户需要将部分压缩包文件传输到另外一个位置,并进行解压,希望已经传输成功的文件,下次任务运行时不会再重复传输。

2)参考文档

详情请参见:FTP服务器中白名单文件自动传输与解压

2、功能使用指导

2.1 如何打堆栈

用户在使用 FDL 时,可能会出现宕机而导致无法使用的情况,此时可以打堆栈进行排查,本文将说明如何打堆栈。

详情请参见:如何打堆栈

2.2 不同写入方式效果说明

1)应用场景

数据同步-写入方式 文档中,介绍了三种写入方式:直接将数据写入目标表、清空目标表,再写入数据、基于标识字段,新增/修改/删除数据。

本文为您展示这三种写入方式的实际效果。

2)参考文档

详情请参见:不同写入方式效果说明

2.3 新增计算列算子中获取当月天数

1)应用场景

用户想使用 新增计算列 算子,获取当月天数。

2)参考文档

详情请参见:新增计算列获取当月天数

 

 

 

 

 

分享扩散:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表