1 案例说明

ETL 过程的第一步,是从一个或多个数据源获取数据。数据获取是一项复杂且具有挑战性的工作,其难点主要源于数据源的多样性与复杂性。

在传统数据仓库环境中,数据通常来源于企业内部的事务类应用系统,例如财务系统或 ERP 系统。这类系统的数据大多存储在关系型数据库中,如 MySQL、Oracle 或 SQL Server。在该类场景中可通过 JDBC 直连数据库的方式进行抽取。但如果数据源为非关系型数据库,或缺少可用的数据库驱动,数据抽取的难度会显著提升。

另一种典型场景是数据所有权或物理位置受限:例如数据属于供应商、客户等外部主体,或数据位于公司防火墙之外。这类场景下,数据库直连通常不可行,数据文件交换便成为一种便捷有效的可行方案。

本案例将介绍助睿 ETL 中内置的多种不同的文件数据(CSV、Text、Excel)抽取组件使用方法,演示如何通过这些组件快速解析和抽取不同文件类型的数据。

2 实验环境

  • 平台名称:助睿在线实验平台

  • 使用产品:助睿数智(Uniplore)- AI驱动的一站式零代码数据智能服务平台系统

  • 子平台:助睿ETL数据集成平台

该平台支持从数据接入、ETL处理、机器学习建模到可视化展示的全链路零代码操作,适用于高校教学与企业数据加工。

3 数据准备

以下数据文件均从助睿 ETL 平台的「公共空间」中获取:

  • 本案例中「从 CSV 文件中读取数据」小节,将使用 project.csv 数据文件;

  • 本案例中「从文本文件中读取数据」小节,将使用足球比赛数据文件:usa_201209.txt

  • 本案例中「从 Excel 中读取数据」小节,将使用购房者信息数据文件:custinfo.xlsx

获取数据文件操作如下:

登录助睿 ETL 平台,选择「数据集成」模块,找到「我的项目」,点击项目右侧的「…」按钮,选择「打开项目」,进入目标项目页面;

img

点击页面右侧的「公共空间」,切换至「数据资源」标签页,找到资源名称为 porject.csv 的文件,点击该文件右侧的「更多」按钮,选择「导出」选项;

img

在弹出的「导出数据资源到项目空间」窗口中,确认待导出文件为 project.csv,选择导出路径(如 / 根目录),点击「确定」按钮完成导出到「文件库」中。

img

切换至左侧导航栏的「文件库」标签页,点击右键菜单中的「刷新」按钮,查看已导出至项目空间的文件资源。img

4 从 CSV 文件中读取数据

本案例将通过助睿 ETL 编写工作流,实现对 CSV 文件数据的提取与加工。首先从 CSV 文件中提取项目信息数据,然后以项目的【start_date】(开工日期)和【end_date】(结束日期),计算项目执行天数,并基于该天数设定项目的【performance】(绩效)等级,最终完成项目绩效的自动化评估与数据标准化。

实现逻辑如下:通过「CSV 文件输入」组件从 CSV 文件中读取原始项目数据,使用「字段选择」组件筛选并保留后续计算所需的关键字段;在「计算器」组件中新建【diff_date】字段,用于计算开工日期与结束日期之间的间隔天数;完成天数计算后,通过「数值范围」组件,根据间隔天数的区间规则自动生成并设置新的输出字段【performance】的值,完成项目绩效的判定。

具体操作如下:

新建转换流,进入项目切换到「组件库」标签页,拖拽「CSV 文件输入」组件至画布,配置如下图所示:

img

双击「CSV 文件输入」组件,在弹出的窗口中单击 “浏览文件”,通过文件浏览器组件选择目标文件,配置如下图所示:

img

在文件浏览器组件中选中需要读取的 CSV 文件「porject.csv」,点击确定,文件浏览器组件会自动解析文件路径,并回填至「CSV 文件输入」组件中,配置如下图所示:

img

在完成文件路径的填写后,可通过「CSV 文件输入」组件的获取字段功能,自动解析CSV文件结构,提取文件中的字段。具体操作:在「CSV 文件输入」组件下方的数据区域点击右键,选择 “获取字段”,配置如下图所示:

img

在完成数据字段配置后,可通过组件的「预览」功能查看数据读取结果,验证数据是否正常加载、字段是否解析正确,结果如下图所示:

img

在上述过程中,我们完成了CSV文件的数据解析与读取。接下来我们将对读取的数据进行初步加工。将「字段选择」组件拖至画布,建立从「CSV 文件输入」组件到「字段选择」组件的连接,配置如下图所示:

img

双击「字段选择」组件打开组件配置窗口,在默认的Tab页签(选择和修改)中右键点击并选择「获取字段」,获取前一个组件「CSV 文件输入」传递过来的字段信息,配置如下图所示:img

在「字段选择」组件的配置窗口中,选择和修改页签提供了字段管理功能,可对字段信息如名称、长度、精度等进行调整。在本节案例中,不涉及到字段信息的调整,所以这里保持默认即可,配置如下图所示:

img

完成「字段选择」组件的配置后,拖拽「计算器」组件至画布,建立从「字段选择」组件到「计算器」组件的连接,此时弹出的提示框中有两个可选值:主输出步骤和错误步骤。主输出步骤是指正常数据的处理链路,错误步骤是错误数据的处理链路。因为字段选择组件涉及到字段信息的修改,字段类型、长度,数据在进行类型、长度等转换过程中会出错,这些出错的数据就会流入错误数据处理链路,而正常的数据就会流入主输出数据链路。在本节案例中,我们只处理正常数据,因此选择「主输出步骤」。配置如下图所示:

img

双击「计算器」组件进入配置界面,点击「插入」新增一行配置,此时相当于增加一个数据计算逻辑。在「计算器」组件中,一个数据计算逻辑由新字段、计算公式、字段A/B/C等结构组成。新字段是指计算逻辑输出的字段,计算公式指数据的计算方法,字段A/B/C是指计算逻辑的输入数据。界面如下图所示:

img

在「新字段」列手动输入字段名 diff_date,在「计算」下拉列表中选择 Date A - Date B (in days),「字段 A」下拉列表选择 end_date,「字段 B」下拉列表选择 start_date,「值类型」下拉列表选择 Integer,完成配置后点击「确认」。此时的数据计算逻辑是计算项目开始时间start_date和项目结束时间end_date之间的天数差,并将计算结果存储在字段 diff_date。配置界面如下图所示:

img

在完成计算器」组件的配置后拖拽“数值范围”组件至画布,建立从“计算器”到“数值范围”之间的连接,配置如下图所示:

img

双击「数值范围」组件打开组件配置窗口:在「输入字段」下拉列表中选择 diff_date,在「输出字段」处手动输入字段名 performance,并按业务规则配置「范围(最小≤x < 最大)」区间,即根据项目天数差diff_date对项目进行评价,并将评价值存储在字段 performance中,评价规则如下:

  • 下界为 0、上界为 30,评价值为 excellent

  • 下界为 30、上界为 180,评价值为 very good

  • 下界为 180、上界为 360,评价值为 good

  • 下界为 360,评价值为 poor

完成配置后点击「确认」。「数值范围」组件配置界面如下图所示:

img

拖拽「文本文件输出」组件至画布,建立从「数值范围」组件到「文本文件输出」组件的连接,配置界面如下图所示:

img

双击「文本文件输出」组件打开组件配置窗口,完成文件输出路径、字段映射等相关配置界面如下图所示:

  • 手动输入「文件名称」为 porject_output

  • 手动输入「扩展名」为 csv

即通过「文本文件输出」组件将数据写入到porject_output.csv 文件中。

img

切换至「内容」标签页,将「分隔符」手动修改为英文逗号 ,即输出的文件中以,分割字段,配置如下图所示:

img

切换至「字段」标签页,在字段列表区域右键单击,选择「获取字段」,自动加载上游组件传递的所有字段信息,即将上游组件传递的字段都写入到文件中;

img

完成后点击「确认」保存设置,结果如下图所示:

img

完成所有步骤后,整个转换工作流视图如下图所示:

img

点击画布左上角的「运行」按钮,在弹出的提示框中点击「启动」,即可运行整个转换流程。

img

运行结果如下图所示:

img

运行转换后,文件库中生成一个Project_output.csv表,数据如下图所示:

img

5 从文本文件中读取数据

本小节将利用足球比赛数据,演示如何使用助睿 ETL 平台完成文本数据的标准化读取、字段筛选与结果验证,为后续的数据统计与分析提供可靠的数据源。数据包含比赛日期、比赛地点、主客队、比分等关键字段,我们将通过三步核心操作实现数据处理:

  • 数据接入:通过「CSV 文件输入」组件读取文本文件数据,验证文件路径、字段解析与数据格式的正确性,确保源数据能被 ETL 平台正常识别;

  • 字段 筛选:使用「字段选择」组件,按需筛选出后续分析所需的关键字段(如比赛日期、主客队、比分),剔除无关字段,精简数据结构;

  • 结果验证:搭配「空操作(什么也不做)」组件接收数据,该组件仅接收数据不做任何业务处理,核心作用是测试数据是否能从上游组件完整传递到输出环节,验证整个流程的连通性,确保后续流程的稳定性。

通过以上操作,我们将快速搭建一个完整的文本数据读取与验证流程,为后续的比赛数据统计、比分分析等业务场景奠定基础。

具体操作如下:

新建转换,拖拽「CSV 文件输入」组件至画布,配置界面如下图所示:

img

双击组件打开配置窗口,在「文件名」栏「浏览文件」选择待读取的足球比赛数据文件:usa_201209.txt 。然后将「列分隔符」设置为英文分号 ;(需与文件实际分隔符格式保持一致,如文件中为中文分号 则对应设置为中文)。最后勾选「包含列头行」选项。即使用「CSV 文件输入」组件读取usa_201209.txt 文件,并按分隔符“;”解析列,并使用文件中第一行的数据作为字段名称。配置界面如下图所示:

img

配置完成后,在下方数据预览区域的空白处右键单击,在弹出的菜单中选择「获取字段」,即可自动解析并加载文本文件中的字段信息。完成配置后点击「确认」按钮保存,配置界面如下图所示:

img

选中「CSV 文件输入」组件,右键单击并选择「预览输出」,查看数据读取结果,验证数据是否正常加载、字段解析是否正确,预览效果如下图所示:

img

img

将「字段选择」和「空操作(什么也不做)」组件依次拖拽至画布,建立从「CSV 文件输入」→「字段选择」→「空操作(什么也不做)」的连接,在弹出的步骤选择提示框中均选择「主输出步骤」,完成整个转换流程的搭建,完整转换如下图所示:

img

双击「字段选择」组件进入配置界面,切换至「移除」标签页,在空白区域先「获取字段」再「删除选中行」仅保留需要移除的Venue字段,点击「确认」完成字段剔除配置。此时「字段选择」组件将移除字段流中的Venue字段,不再将其传递给下一个组件,配置界面如下图所示:

img

img

img

点击画布左上角的「运行」按钮,在弹出的提示框中点击「启动」,即可运行整个转换流程,执行结果如下图所示:

img

选中「空操作(什么也不做)」组件,右键单击并选择「预览」,查看经过字段筛选后的数据输出结果,验证字段剔除是否生效、数据传递是否完整,结果如下图所示:

img

img6 从 Excel 文件中读取数据

近年来房地产市场持续发展,房价波动明显,购房是多数人人生中重大的投资决策,购房选择会直接影响后续的生活质量与幸福感。而房地产市场的楼盘供给丰富,不同房源在价格、区位、面积、户型、配套等方面差异显著,购房者在决策时,往往会对住房价格、环境品质、物业服务、户型合理性等多维度因素产生选择困惑,加大了购房决策的难度。

在基于购房决策影响因素(如购房者年龄、性别、学历、月薪、家庭人数等)开展数据建模分析前,需要先对原始数据进行过滤与筛选,本案例将使用助睿 ETL 平台读取获取到的购房者信息数据(Excel 文件),通过字段选择操作,筛选出业务分析所需的目标字段,完成数据的基础预处理。

具体操作如下:

新建转换工作流,在「组件库」中拖拽「Excel 输入」组件至画布,配置界面如下图所示:

img

双击组件打开配置窗口,点击「浏览」按钮使用文件浏览器组件选择待读取的 Excel 文件。

img

再点击「增加」按钮将文件添加至「选中的文件」中,完成基础文件配置。即通过 Excel XLSX(Streaming)引擎解析和读取 custinfo.xlsx 文件。配置界面如下图所示:

img

切换至「内容」标签页,完成相关配置:勾选「头部」「非空记录」,在「编码」下拉列表中选择「UTF-8」,即custinfo.xlsx 文件中第一行为字段名称,只读取文件中非空记录,且文件编码为UTF-8。配置界面如下图所示:

img

切换至「工作表」标签页,点击页面下方的「获取工作表名称」按钮,此时组件将读取文件并获取文件的工作簿信息。配置界面如下图所示:

img

在弹出的工作表选择窗口中,勾选该工作表前的复选框。点击两栏中间的右向箭头按钮,将选中的Sheet1工作表添加至右栏列表中,完成后点击「确定」按钮。此时组件只会读取工作簿Sheet1的数据。配置界面如下图所示:

img

img

切换至「字段」标签页,在空白区域右键单击选择「获取来自头部的字段」选项,此时组件会读取文件的工作簿Sheet1的第一行数据,并解析成字段信息。配置如下图所示:

img

将字段名称、数据类型等属性自动加载到字段列表中,点击「确认」按钮。配置界面如下图所示:

img

从「组件库」中拖拽「字段选择」组件、「空操作(什么也不做)」组件至画布,按「Excel 输入」→「字段选择」→「空操作(什么也不做)」的顺序依次建立组件连接,在弹出的连接线类型选择提示框中,均选择「主输出步骤」,完整转换流程如下图所示:

img

双击「字段选择」组件进入配置界面,在「选择和修改」标签页右键单击,选择「获取字段」,自动加载上游「Excel 输入」组件的所有字段信息;仅保留目标字段「education」「employment」,点击「确认」按钮完成字段配置, 配置界面如下图所示:

img

img

点击画布左上角的「运行」按钮,点击「启动」,流程执行结果如下图所示:

img

选中「空操作(什么也不做)」组件,右键单击并选择「预览输出」,查看经过 Excel 数据读取、字段筛选后的最终数据输出结果,验证目标字段筛选是否生效、数据传递是否完整,结果如下图所示:

img

img

本次使用助睿 ETL 平台完成了 CSV、文本、Excel 三类主流文件的解析、读取、字段筛选与全链路数据验证,实现了数据抽取、转换环节的闭环落地。帮助我们初步掌握了 ETL 核心基础能力,理解了数据预处理核心逻辑,为后续数据分析、业务建模等场景筑牢了可靠数据源基础,这些操作也是数据处理领域的必备入门技能。

Logo

一站式 AI 云服务平台

更多推荐