历史版本11 :文件输入功能说明 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本说明

FineDataLink 版本
功能变动
4.0.14-
4.0.24

FineDataLink 服务器本地和 FTP/SFTP 服务器中:

  • 支持批量读取同格式的 Excel 和 CSV 文件

  • 支持 Excel 和 CSV 文件自定义输出字段类型

  • 支持 CSV 文件跳过前 N 行取数

  • 支持 TXT 文件读取

  • 支持忽略后缀名大小写读取

1.2 应用场景

用户在搭建数仓时,希望能从 FineDataLink 服务器本地或者共享目录中读取 Excel 、CSV 文件数据。

同时可以通过 FDL 将Excel 、CSV 文件直接上传至 FDL 服务器本地。

1.3 功能说明

FineDataLink 支持「文件输入」功能。

  • 支持Excel和CSV文件读取,允许用户从 FineDataLink 服务器本地和 FTP/SFTP 服务器上读取 Excel 和 CSV 文件数据。

  • 支持用户快速上传文件至有权限的 FDL 服务器本地目录中。

  • 支持通过分配数据连接权限控制每个人允许访问的本地服务器目录,保证数据与权限安全。

2. 前提条件编辑

  • 若需要读取或者上传本地的 Excel 和 CSV 文件数据至 FineDataLink,需要新建一个「服务器本地目录」数据连接,并将要读取的文件放到%FDL%/webroot/WEB-INF/local_files/路径下。具体请参见:配置服务器本地目录数据连接

  • 若需要读取远程 FTP/SFTP 服务器 Excel 和 CSV 文件数据,需要配置 FTP/SFTP数据连接。具体请参见:配置FTP/SFTP数据连接

3. 功能说明编辑

3.1 读取 Excel 文件

3.png

3.1.1 文件来源

需要提前配置「服务器本地数据连接」和「FTP/SFTP数据连接」&有该数据连接的使用权限,下拉框中才会出现选项

3.1.2 文件类型

支持 Excel 和 CSV 文件。

注1:文件类型选择 Excel 时,支持的后缀名:.xls、.xlsx、.XLS、.XLSX

注2:Excel 需要支持满足的版本为 97~ 最新版本。

3.1.3 读取方式

分为两种,「文件读取」和「文件夹读取」。

1684931229552641.png

1)文件读取

文件地址:选择要读取的文件。支持使用参数,例如:/home/ftpuser/test/${time}.xlsx。也可以使用 参数赋值进行参数设置。

也可以手动上传本地文件。禁止上传重名文件。上传文件名限制:上传文件名不能包含「 ? * : " < > \ / | 」,不能以空格开头。上传文件大小不能超过 100M 。

2)文件夹读取

注:文件夹中的 Excel 文件需要字段名相同。

  • 文件夹地址:选取要读取的文件夹。指定文件夹方式:通过界面点击选择文件夹、手动输入文件夹地址、参数、

  • 读取子文件夹:若不勾选,读取时将忽略子文件夹中的文件;勾选时,读取时包括子文件夹中的文件。

  • 文件筛选:允许配置筛选条件过滤文件夹下的多个文件,获取符合要求的部分文件进行读取。可通过「文件名」和「文件修改时间」来筛选文件。支持通过参数筛选。

1684981165559224.png

3.1.4 sheet 名

填写要读取的 Sheet 名。为空时读取第一个 sheet。sheet 名称支持使用参数。

3.1.5 读取行列范围

指定 Excel 读取起始行和读取结束行,指定 Excel 读取起始列和读取结束列。

数字框中要求为正整数。

3.1.6 起始行为字段名

勾选时,将解析到的首行数据作为字段名。

不勾选时,首行将作为实际数据解析。

3.1.7 输出字段

1)自动获取:

将根据解析结果直接读取字段类型,此时「自动获取」界面下不显示输出的字段。

1684981760841521.png

2)手动获取:

  • 「手动获取」界面下将展示输出字段名称、输出字段类型,支持自定义字段类型,可设置字段类型为:varchar、int、long、float、double、date、timestamp。

注:CSV 文件的情况下,不能选择 date 和 timestamp 类型。

1684978235389217.png

  • 字段允许追加,允许删除追加的字段,但不允许对已有字段进行删除或顺序调整。

10.png

  • 追加的字段如果前 N 行没有数据,则对应行值为 NULL 。

3.2 读取 CSV 文件

11.png

文件来源、文件类型、起始行为字段名、输出字段介绍请参见本文 3.1 节内容。

注:文件类型选择 CSV 时,支持的文件后缀名:.csv、.CSV、.txt、.TXT。

3.2.1 读取方式

分为两种,「文件读取」和「文件夹读取」。

1684981031916621.png

1)文件读取

文件地址:选择要读取的文件

2)文件夹读取

注:文件夹中的 CSV 文件需要字段名相同。

文件夹地址:选取要读取的文件夹。指定文件夹方式:通过界面点击选择文件夹、手动输入文件夹地址、参数。

读取子文件夹:若不勾选,读取时将忽略子文件夹中的文件;勾选时,读取时包括子文件夹中的文件

文件筛选:允许配置筛选条件过滤文件夹下的多个文件,获取符合要求的部分文件进行读取。可通过「文件名」和「文件修改时间」来筛选文件。支持通过参数筛选。

1684981204599315.png

3.2.2 分隔符

根据指定的分隔符,分隔数据为多列。配置的分隔符需要与文件中实际的分隔符保持一致才可正常解析。

可指定或自定义分隔符。

1684982512794019.png

1)指定分隔符

分隔符可选择:逗号,制表符\t分号;管道符|空格

2)自定义分隔符

可以手动输入自定义分隔符,可以输入多个字符作为分隔符,可以是中文字符。

3.2.3 编码

指定 CSV 文件编码。编码可选择 GBK、BIG5、ISO-8859-1、UTF-8、UTF-16、EUC_JP、EUC_KR、CP850

1684982723725267.png

3.2.4 读取起始行

CSV 文件可以从第 N 行开始取数。

  • 必填。默认值为 1,不允许输入 1 以下的数字。

  • 实际读取时,将从配置的起始行开始进行读取。

  • 多文件读取的情况下,对于每个文件,此配置都将生效。

  • 同时指定「起始行为字段名」时,将以读取起始行开始,取该行作为字段名行。

4. 特殊场景处理策略编辑

场景处理策略
批量读取的文件中,存在个别文件数据格式与模板文件不符如果此格式不符的文件,字段个数与类型与模板文件相同,则不会报错,将视为正确的文件读取

如果此格式不符的文件,字段个数或类型与模板文件不同,则此文件报错,算子执行报错,并打印日志记录当前报错时读取的文件名

读取的文件中,位于末尾的字段在采样行数之后才有数据字段输出配置中,在末尾追加字段,配置字段名和字段类型

读取时前N行会被读取为NULL,有数据的行正常读取

自定义输出的字段类型与实际数据类型不兼容将报错

5. 读取的 Excel 数据条件编辑

单元格格式与读取后字段的关系说明:

Excel单元格格式
解析字段格式
常规基于原始值判断,可解析成FDL支持的类型,则自动解析,无法解析视为字符串。
数值

数值

货币

字符串

数值

会计专用

字符串

数值

日期、时间

日期或时间戳

只有年月日解析成日期、含有日期时间解析成时间戳。

百分比

数值

分数

数值

科学计数法数值
文本字符串

1)CSV字段类型问题

CSV读取后,输出只有字符串和数字两种类型,数字需要保证不丢精度。对于时间类型,如2022-11-10类型的时间,解析为字符串;时间戳类型的时间解析成数字。

2)合并单元格读取问题

对于合并的单元格,拆分单元格读取,复制值到每个拆分后的单元格进行读取。

3)字段为空的情况

如果标题字段存在空值,则将空值以「column+数字」的方式补充。

如果数字字段存在空值,填NULL

4)不支持 Excel 的多选Sheet读取。

5)不支持文件名通配符。

6)不支持读取设密码的Excel文件。