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

目录:

1. 概述编辑

1.1 版本说明

FineDataLink 版本
功能变动
4.0.14-

1.2 应用场景

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

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

1.3 功能说明

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

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

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

2. 前提条件编辑

在使用功能前,需要首先创建数据连接。

3. 读取远程FTP/SFTP 服务器数据编辑

使用数据:2022-11-30.xlsx

3.1 设置读取条件

新建任务并新建「数据转换」节点,如下图所示:

进入编辑界面,选择「文件输入」,设置数据来源为 FTP/SFTP,选择文件类型为「Excel」,如下图所示:

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

选择服务器文件地址,如下图所示:

文件地址支持使用参数,例如用户想要每次读取当前时间前一天生成的 Excel 数据,则可以设置参数,然后在文件地址中使用该参数:/home/ftpuser/test/${time}.xlsx,如下图所示:

注:当然也可以使用 参数赋值进行参数设置。

然后选择当前文件的「sheet名」,如下图所示:

注:sheet名称也支持使用参数。

然后可以进行行列读取范围的设置,本示例选择读取所有数据,如下图所示:

若选择 csv 文件格式,可以指定分隔符和编码,如下图所示:

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

最后勾选首行是否为字段名称,勾选时,将解析到的首行数据作为字段名,不勾选时,首行将作为实际数据解析,如下图所示:

点击数据预览即可看到读取好的 Excel 或者 CSV 数据,如下图所示:

注:预览数据量默认最多20行;字段样本数据量最多5000行,使用前5000行数据中出现的字段与首行列数(如果指定了首行为字段名称)取并集,作为预览时展示的字段。

注2:如果首行字段为合并单元格的情况,将合并单元格进行拆分后,以「字段名称+数字」的方式对拆分后的字段命名,如三个单元格合并后的首行单元格为「姓名」,则命名为姓名、姓名1、姓名2..:

注3:如果CSV首行字段有重名情况,以「字段名称+数字」的方式对重复字段命名,如重复字段为姓名,则重复字段命名为姓名1、姓名2...。

注4:未勾选首行包含字段名时,字段名称以「column+数字」的方式对解析出的字段依次命名,如colum、column1、column2...。

3.2 输出数据

然后即可对取出的数据进行处理并将数据输出至指定数据库,如下图所示:

3.3 效果查看

在数据库中即可看到写入的数据表20221130,如下图所示:

4. 读取或上传 FineDataLink 服务器本地数据编辑

4.1 读取FineDataLink 服务器本地数据

新建任务并新建「数据转换」节点,如下图所示:

进入编辑界面,选择「文件输入」,设置数据来源为「服务器本地目录」,选择指定数据连接,如下图所示:

选择文件类型和地址、以及后续的使用操作与文档 3.1 、3.2 节一致,此处不在赘述,如下图所示:

4.2 上传文件至FineDataLink 服务器

若用户想要将本地文件上传至 FineDataLink 服务器上,则可以点击「本地文件」上传本地文件至服务器中,如下图所示:

文件地址中会显示上传文件位置,同样也支持引用参数,文件地址显示的位置是数据连接指定的文件相对起始路径,比如数据连接为%FDL%/webroot/WEB-INF/local_files/员工下的数据,则此时显示的相对文件路径为local_files/员工,如下图所示:

然后即可选择文件 sheet 以及读取行数等等,操作步骤与 3.1 节相同。

5. 读取的 Excel 数据编辑

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

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

数值

货币

字符串

数值

会计专用

字符串

数值

日期、时间

日期或时间戳

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

百分比

数值

分数

数值

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

1)CSV字段类型问题

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

2)合并单元格读取问题

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

3)字段为空的情况

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

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

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

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

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