1. 概述编辑
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.0.26 | 新增「文件输出」算子,可将数据输出为文件形式 |
1.2 应用场景
用户希望将加工后的数据以文件形式分享给业务人员直接查看使用。
银行体系下,不允许直连数据库或开放接口,需要以文件形式下发数据给其他关联业务系统使用。
「文件输出」算子可满足上述场景。
1.3 功能简介
「文件输出」算子可将处理后的数据输出到指定目标与路径的结构化文件中。如下图所示:
注:若数据不需要进行复杂处理,可使用 数据同步 节点将数据输出为文件形式。
2. 前提条件编辑
若需要将文件输出到 FineDataLink,需要新建一个「服务器本地目录」数据连接,并将要读取的文件放到%FDL%/webroot/WEB-INF/local_files/路径下,并且有该数据连接的使用权限。具体请参见:配置服务器本地目录数据连接
若需要将文件输出到 FTP/SFTP 服务器中,需要配置 FTP/SFTP数据连接,并且有该数据连接的使用权限。具体请参见:配置FTP/SFTP数据连接
3. 功能说明编辑
3.1 数据去向
「文件输出」算子设置界面如下图所示:
注:一个「文件输出」算子只能有一个输入。
3.1.1 文件目标
文件输出的位置。可将文件输出到「FTP/SFTP 服务器」中或者「服务器本地目录」中。
3.1.2 文件类型
目前只能将数据输出为 CSV 文件。
3.1.3 文件夹地址
选择文件输出目录,支持使用参数。
3.1.4 文件名
填写文件名称,支持填写参数。
3.1.5 列分隔符
注:列分隔符、文本限定符、行分隔符彼此不可重复。
根据指定的列分隔符,分隔数据为多列。可以指定或自定义。
指定:
可在下拉框中选择:
逗号,
制表符 \t
分号;
管道符 |
空格
自定义:
可以手动输入十进制的 ASCII 编码,指定 ASCII 字符作为特殊的列分隔符。支持的十进制 ASCII 编码为 0~32。
十进制 ASCII 编码为 0~32 的含义如下表所示: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
3.1.6 行分隔符
指定 CSV 文件中的行分隔符
CR+LF(在 Windows 系统中使用)
LF(在 Unix、Linux 等系统中使用)
CR(在早期的 Mac OS 系统中使用)
3.1.7 文本限定符
用于标识数据值的开始和结束,以避免数据中包含的特殊字符干扰 CSV 文件的解析
可选择指定、自定义、无,如下图所示:
指定:可选择双引号""、单引号''
自定义:可以手动输入十进制的 ASCII 编码,指定 ASCII 字符作为特殊的文本限定符。支持的十进制 ASCII 编码为 0~32,具体含义可见本文 3.1.5 节内容。
3.1.8 编码
指定 CSV 文件编码,编码可选择 GBK、BIG5、ISO-8859-1、UTF-8、UTF-16、EUC_JP、EUC_KR、CP850。
3.1.9 首行输出字段名
勾选时,将字段名写入文件第一行;不勾选时,则直接将数据写入文件第一行。
3.1.10 文件重名策略
有三种:
文件重名,停止写入并报错
文件重名,追加写入数据
文件重名,覆盖目标文件数据
3.2 字段映射
界面如下图所示:
1)字段匹配时,展示的目标字段类型固定为 string,不允许修改。
实际写入时,各数据类型的处理逻辑如下:
源头字段类型 | 目标文件中字段类型 |
---|---|
布尔 | 直接转字符串(真:true、假:false) |
日期时间 | yyyy-MM-dd HH:mm:ss格式的字符串 |
其他类型 | 字符串 |
「文件输出」算子前一算子的预览效果与输出值相同。用户如果有格式化的需求,可以在前置计算过程中通过公式完成日期和数字的格式化,以文本输出时,格式化的结果也会原样保留。
4. 特殊场景处理策略编辑
场景 | 处理策略 |
---|---|
文件写入时已有同名文件 | 按照节点配置的文件重名策略执行冲突处理 |
写入 CSV 文件的数据中存在 NULL/空字符串 | NULL:按照空值写入,不使用文本限定符封闭,例如("a",,"b","c") 空字符串:按照空字符串写入,使用文本限定符封闭。例如("a","","b","c") |
写入 CSV 文件的数据中存在换行 | 通过文本限定符封闭,正常保留换行 |
写入Excel中含有图片、图标等非字符类型数据 | 尝试转换为字符串进行写入,如果转换失败则抛错处理 |