反馈已提交

网络繁忙

文件输出算子功能说明

  • 文档创建者:Wendy123456
  • 历史版本:8
  • 最近更新:Wendy123456 于 2024-01-08
  • 1. 概述

    1.1 版本

    FineDataLink 版本功能变动
    4.0.26
    新增「文件输出」算子,可将数据输出为 CSV 类型的文件
    4.0.30可将数据输出为 Excel 类型的文件
    4.1.4数据输出为 CSV 格式时,输出的文件名后缀支持自定义,例如:txt、log、tsv等

    1.2 应用场景

    • 用户希望将加工后的数据以文件形式分享给业务人员直接查看使用。

    • 银行体系下,不允许直连数据库或开放接口,需要以文件形式下发数据给其他关联业务系统使用。

    • 政企分享数据的过程中,需要将数据以文件形式留档。

    • 对接部分大数据数据源时,需要 FDL 写数据文件,然后数据源通过读取文件的形式高速装载数据。

    「文件输出」算子可满足上述场景。

    1.3 功能简介

    「文件输出」算子可将处理后的数据输出到指定目标与路径的结构化文件中。如下图所示:

    注:若数据不需要进行复杂处理,可使用 数据同步 节点将数据输出为文件形式。

    1693385693413410.png

    2. 前提条件

    • 若需要将文件输出到 FineDataLink,需要新建一个「服务器本地目录」数据连接,并将要读取的文件放到%FDL%/webroot/WEB-INF/local_files/路径下,并且有该数据连接的使用权限。具体请参见:配置服务器本地目录数据连接

    • 若需要将文件输出到 FTP/SFTP 服务器中,需要配置 FTP/SFTP数据连接,并且有该数据连接的使用权限。具体请参见:配置FTP/SFTP数据连接

    3. 功能说明

    注:避免多个任务/节点同时写入同一文件。

    3.1 数据输出到 CSV 文件中

    设置界面如下图所示:

    6.png

    3.1.1 文件目标

    文件输出的位置。可将文件输出到「FTP/SFTP 服务器」中或者「服务器本地目录」中。

    3.1.2 文件类型

    支持数据输出为 CSV/Excel 类型的文件。

    3.1.3 文件夹地址

    选择文件输出目录,将以「数据连接」中所选路径作为写入目录;不允许为空;支持使用参数。

    3.1.4 文件名

    1)填写文件名称:支持填写参数;不允许为空。

    2)4.1.4 及之后版本,文件名后缀支持自定义,可输入:txt、log、tsv等,不区分字母大小写,可以为空。如下图所示:

    1704683779852123.png

    3.1.5 列分隔符

    注:列分隔符、文本限定符、行分隔符彼此不可重复。

    根据指定的列分隔符,分隔数据为多列。

    分隔符可选择:英文逗号,制表符\t英文分号;管道符|空格ASCII字符自定义

    1704683868340185.png

    ASCII字符:可以手动输入十进制的 ASCII 编码,指定 ASCII 字符作为特殊的列分隔符。支持的十进制 ASCII 编码为 0~32。

    十进制 ASCII 编码为 0~32 的含义如下表所示:
    十进制 ASCII 编码含义
    0空字符(Null)
    1标题开始
    2本文开始
    3本文结束
    4传输结束
    5请求
    6确认回应
    7响铃
    8退格
    9水平定位符号
    10换行键
    11垂直定位符号
    12换页键
    13归位键
    14取消变换(Shift out)
    15启用变换(Shift in)
    16跳出数据通讯
    17设备控制一(XON 启用软件速度控制)
    18设备控制二
    19设备控制三(XOFF 停用软件速度控制)
    20设备控制四
    21确认失败回应
    22同步用暂停
    23区块传输结束
    24取消
    25连接介质中断
    26替换
    27跳出
    28文件分割符
    29组群分隔符
    30记录分隔符
    31单元分隔符
    32空格

    3.1.6 行分隔符

    指定 CSV 文件中的行分隔符

    • CR+LF(在 Windows 系统中使用

    • LF(在 Unix、Linux 等系统中使用)

    • CR(在早期的 Mac OS 系统中使用)

    3.1.7 文本限定符

    用于标识数据值的开始和结束,以避免数据中包含的特殊字符干扰 CSV 文件的解析。

    可选择指定、自定义、无,如下图所示:

    1689130572726084.png


    指定:可选择双引号""、单引号''

    自定义:可以手动输入十进制的 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。

    1689130655294618.png

    3.1.9 首行输出字段名

    勾选时,将字段名写入文件第一行;不勾选时,则直接将数据写入文件第一行。

    3.1.10 文件拆分

    1693387842111147.png

    1)勾选后将按行数拆分数据至多个文件,适用于大数据量的文件输出场景,例如数据量超过 Excel 支持的最大行数上限时,不拆分将无法写入。

    2)数据(包括勾选「首行输出字段名称」后生成的字段名称行)每满足指定行数时,将生成一个新文件,同时自动在文件名后追加"_1、_2..."后缀。

    3)如果没有勾选文件拆分,文件写入到达 Excel 上限,则直接后端报错处理。

    4)如果勾选了「首行输出字段名」按钮,文件拆分后,每个拆分的文件或者 Sheet 仍将首行设置为输出字段名称。

    5)当前文件拆分逻辑基于输入端拆分,若「文件重名策略」设置为文件重名,追加写入数据,目标文件的存量数据不会算入按行数拆分的数据量中,这种情况下,实际文件数据量会大于指定的拆分行数。

    3.1.11 文件重名策略

    注:若选择文件输出到 Excel 文件,「文件重名策略」无法选择「文件重名,追加写入数据」。

    同一文件夹中,文件不能重名。

    有三种:

    • 文件重名,停止写入并报错

    • 文件重名,追加写入数据

    • 文件重名,覆盖目标文件数据

    3.1.12 字段映射

    界面如下图所示:

    1693387592183321.png

    1)字段匹配时,展示的目标字段类型固定为 string,不允许修改。

    实际写入时,各数据类型的处理逻辑如下:

    源头字段类型目标文件中字段类型
    布尔
    直接转字符串(真:true、假:false)
    日期时间
    yyyy-MM-dd HH:mm:ss格式的字符串
    其他类型字符串

    「文件输出」算子前一算子的预览效果与输出值相同。用户如果有格式化的需求,可以在前置计算过程中通过公式完成日期和数字的格式化,以文本输出时,格式化的结果也会原样保留。

    3.2 输出数据到 Excel 文件

    设置界面如下图所示:

    94.png

    Excel 单文件支持的数据量说明:

    • Excel 2003 和更早版本: 单个工作表最多支持 65536 行和 256 列。

    • Excel 2007 和更新版本: 单个工作表最多支持 1048576 行和 16384 列。

    注:目前文件输出的 Excel 格式为 xlsx 。

    3.2.1 Sheet 名

    填写要写入的 Sheet 名,不填写时则使用默认的 Sheet 名称;支持使用参数。

    3.2.2 其他设置项

    具体介绍请参见本文 3.1 节内容。

    4. 特殊场景处理策略

    场景
    处理策略
    文件写入时已有同名文件按照节点配置的文件重名策略执行冲突处理
    写入 CSV 文件的数据中存在 NULL/空字符串NULL:按照空值写入,不使用文本限定符封闭,例如("a",,"b","c")

    空字符串:按照空字符串写入,使用文本限定符封闭。例如("a","","b","c")

    写入 CSV 文件的数据中存在换行通过文本限定符封闭,正常保留换行
    写入Excel中含有图片、图标等非字符类型数据尝试转换为字符串进行写入,如果转换失败则抛错处理

    5. 示例

    「文件输出」算子的简单使用请参见:文件输出典型示例



    附件列表


    主题: 数据开发
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持