用户希望将加工后的数据以文件形式分享给业务人员直接查看使用。
银行体系下,不允许直连数据库或开放接口,需要以文件形式下发数据给其他关联业务系统使用。
政企分享数据的过程中,需要将数据以文件形式留档。
对接部分大数据数据源时,需要 FDL 写数据文件,然后数据源通过读取文件的形式高速装载数据。
「文件输出」算子可满足上述场景。
「文件输出」算子可将处理后的数据输出到指定目标与路径的结构化文件中。如下图所示:
注:若数据不需要进行复杂处理,可使用 数据同步 节点将数据输出为文件形式。
若需要将文件输出到 FineDataLink,需要新建一个「服务器本地目录」数据连接,并将要读取的文件放到%FDL%/webroot/WEB-INF/local_files/路径下,并且有该数据连接的使用权限。具体请参见:配置服务器本地目录数据连接
若需要将文件输出到 FTP/SFTP 服务器中,需要配置 FTP/SFTP数据连接,并且有该数据连接的使用权限。具体请参见:配置FTP/SFTP数据连接
注:避免多个任务/节点同时写入同一文件。
设置界面如下图所示:
文件输出的位置。可将文件输出到「FTP/SFTP 服务器」中或者「服务器本地目录」中。
支持数据输出为 CSV/Excel 类型的文件。
选择文件输出目录,将以「数据连接」中所选路径作为写入目录;不允许为空;支持使用参数。
填写文件名称,支持填写参数;不允许为空。
注:列分隔符、文本限定符、行分隔符彼此不可重复。
根据指定的列分隔符,分隔数据为多列。可以指定或自定义。
指定:
可在下拉框中选择:
逗号,
制表符 \t
分号;
管道符 |
空格
自定义:
可以手动输入十进制的 ASCII 编码,指定 ASCII 字符作为特殊的列分隔符。支持的十进制 ASCII 编码为 0~32。
指定 CSV 文件中的行分隔符
CR+LF(在 Windows 系统中使用)
LF(在 Unix、Linux 等系统中使用)
CR(在早期的 Mac OS 系统中使用)
用于标识数据值的开始和结束,以避免数据中包含的特殊字符干扰 CSV 文件的解析。
可选择指定、自定义、无,如下图所示:
指定:可选择双引号""、单引号''
自定义:可以手动输入十进制的 ASCII 编码,指定 ASCII 字符作为特殊的文本限定符。支持的十进制 ASCII 编码为 0~32,具体含义可见本文 3.1.5 节内容。
指定 CSV 文件编码,编码可选择 GBK、BIG5、ISO-8859-1、UTF-8、UTF-16、EUC_JP、EUC_KR、CP850。
勾选时,将字段名写入文件第一行;不勾选时,则直接将数据写入文件第一行。
1)勾选后将按行数拆分数据至多个文件,适用于大数据量的文件输出场景,例如数据量超过 Excel 支持的最大行数上限时,不拆分将无法写入。
2)数据(包括勾选「首行输出字段名称」后生成的字段名称行)每满足指定行数时,将生成一个新文件,同时自动在文件名后追加"_1、_2..."后缀。
3)如果没有勾选文件拆分,文件写入到达 Excel 上限,则直接后端报错处理。
4)如果勾选了「首行输出字段名」按钮,文件拆分后,每个拆分的文件或者 Sheet 仍将首行设置为输出字段名称。
5)当前文件拆分逻辑基于输入端拆分,若「文件重名策略」设置为文件重名,追加写入数据,目标文件的存量数据不会算入按行数拆分的数据量中,这种情况下,实际文件数据量会大于指定的拆分行数。
注:若选择文件输出到 Excel 文件,「文件重名策略」无法选择「文件重名,追加写入数据」。
指同一文件夹中,文件不能重名。
有三种:
文件重名,停止写入并报错
文件重名,追加写入数据
文件重名,覆盖目标文件数据
界面如下图所示:
1)字段匹配时,展示的目标字段类型固定为 string,不允许修改。
实际写入时,各数据类型的处理逻辑如下:
「文件输出」算子前一算子的预览效果与输出值相同。用户如果有格式化的需求,可以在前置计算过程中通过公式完成日期和数字的格式化,以文本输出时,格式化的结果也会原样保留。
Excel 单文件支持的数据量说明:
Excel 2003 和更早版本: 单个工作表最多支持 65536 行和 256 列。
Excel 2007 和更新版本: 单个工作表最多支持 1048576 行和 16384 列。
注:目前文件输出的 Excel 格式为 xlsx 。
填写要写入的 Sheet 名,不填写时则使用默认的 Sheet 名称;支持使用参数。
具体介绍请参见本文 3.1 节内容。
空字符串:按照空字符串写入,使用文本限定符封闭。例如("a","","b","c")
「文件输出」算子的简单使用请参见:文件输出典型示例
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
Submitted successfully
Network busy