页面树结构
转至元数据结尾
转至元数据起始


1、概述

   读取文件数据主要有以下方式:

1)使用Excel导入模型:要根据模板导入,并且一次只能导入一个文件

2)数据源/ 加载文件数据: 一次只能导入一个文件

3)ETL的”FTP数据源"节点: 一次只能读取一个文件

 而在V10.5.8版本中,支持一次性批量读取多个excel文件数据并且合并成大宽表存储到指定表中,业务人员无需重复导入,提高了其工作效率。


2、场景举例

    零售行业,店面可能分布在不同的国家、城市里,每个店面每个月都会生成一份Execl文件数据,到了月底客户把所有店面的文件收集起来,统一存放在一个文件夹中;

客户要求文件夹下所有文件的数据落地整合成一份数据,然后再用于可视化分析;

2.1 操作步骤

2.1.1、准备ftp文件

先把excel、csv文件上传到ftp,如下图:

所有的文件内容格式要一致:

由于Foreach循环器只是读取文件的名称FileName和sheetName,真正要读取ftp数据是通过ETL节点“FTP数据源”,所以先要建立ETL资源

2.1.2、建立ETL资源读取、处理、存放数据

首先打开ETL,并且拖入“ftp数据源”节点,并且建立参数,如下图所示,定义参数fileName和sheetName;

参数一定要填写默认值,如果不填写默认值,会运行报错。

把定义好的参数配置到“FTP数据源”,如下图:

处理、加工数据、并且存储到指定表:

保存ETL资源并命名:hxy-2-文件。

2.1.3、在作业流中使用“Foreach 循环器

在作业流中拖入“Foreach循环器”节点,选择“Foreach FTP文件枚举器”

在基础配置中配置ftp连接信息以及读取文件的路径、类型等

序号选项说明
1Ftp服务器或主机名必填
2Ftp服务器端口必填
3用户名默认是匿名anyonymous,密码为空
4目录路径绝对路径
5文件类型目前只支持:execl、csv 2种类型
6文件后缀根据文件类型改变,也可以手动更改,比如execl,默认是.xls,可以改成.xlsx

选择循环资源:循环资源可以是ETL资源也可以是作业流资源;我们选择之前建立的“hxy-2-文件”资源,如下图: 

参数映射:“hxy-2-文件”资源定义好的参数名称(只有事先定义好,映射的时候才能选择),映射名列固定了FileName和SheetName;

顾名思义,FileName即是execl或csv的文件名称,SheetName是execl或csv里sheet名称

配置好之后,点击【确定】,运行节点,运行成功之后,可以查看到数据已经到了表中,如下图:

2.1.4、做可视化报表

基于目标表建立数据模型,如下图:

再基于该数据模型建立可视化分析:

3、场景举例

      读取具体区间范围的数据;使用“Foreach Item 枚举器”实现

3.1 、操作步骤

3.1.1、建立读取数据的ETL资源

首先定义参数,如下图,需要设置默认值

拖入关系数据源,并且选好数据库和表名

写SQL语句+参数,获取想要的数据并插入到关系目标表;

3.1.2、作业流定义Foreach Item 枚举器

如下图,选择了“Foreach Item 枚举器”,在"基础配置"tab 添加列名,列名索引从0开始,依次自增:

数据行也可以自定义;可以删除行,也可以删除列;

“循环资源”tab选择3.1.1节定义好的资源

“参数映射”tab会根据“基础配置”上新增的列数,自动长出对应的映射列名;原则上有多少个列名必须有多少个参数;然后关联映射,就能读取“基础配置”的值到对应的“循环资源”

点击【确定】并且运行可以把根据参数追加到关系目标源中;其他的操作请参考2.1.4;


4、场景举例

 参数值是根据SQL语句动态获取的,然后再根据参数值进行筛选数据,再进行可视化. 使用“Foreach 参数枚举器”实现。

其他的循环资源、参数映射可以参考“Foreach ftp文件枚举器”和“Foreach item枚举器”,运行逻辑是一致的。