1 案例说明

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

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

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

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

2 实验环境

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

3 数据准备

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

  • 本案例中「从 CSV 文件中读取数据」小节,将使用 project.csv 数据文件;
  • 本案例中「从文本文件中读取数据」小节,将使用足球比赛数据文件:usa_201209.txt
  • 本案例中「从 Excel 中读取数据」小节,将使用购房者信息数据文件:custinfo.xlsx

获取数据文件操作如下:

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

img

6 从 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

94581d2a58586e7c.png)[外链图片转存中…(img-ExVL4V1l-1781778143348)]

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

img

img

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

六、实验总结

6.1 实验收获

(1)多格式文件数据抽取的实操能力
本次实验系统掌握了助睿ETL平台中CSV、纯文本、Excel三类常见文件的数据抽取方法,明确了不同文件类型对应的组件选型与配置逻辑。熟练完成了从公共空间导出数据文件、配置文件读取路径、解析字段结构的全流程操作,能够独立搭建文件数据读取的基础转换流,理解了文件类数据源在ETL数据抽取环节的典型应用场景。

(2)分隔符配置与字段解析的核心原理
深入理解了结构化文本文件的解析逻辑,明确分隔符是文本类文件字段拆分的核心依据。掌握了CSV文件默认逗号分隔、自定义文本文件分号分隔的配置方法,认识到分隔符必须与文件实际格式严格匹配,否则会直接导致字段解析失败。学会通过“获取字段”自动识别文件结构,并配合预览功能校验字段拆分的正确性,形成了配置-校验的闭环操作习惯。

(3)字段裁剪与流程调试的方法技巧
熟练运用字段选择组件实现数据字段的筛选与精简,掌握了“移除指定字段”和“保留指定字段”两种配置思路,能够根据业务需求灵活选择操作方式。理解了空操作组件的调试作用,能够将其作为流程终点验证数据流转的连通性,通过步骤度量中的读写行数指标,校验数据在流转过程中是否完整无丢失,掌握了ETL流程的基础调试方法。

(4)文件读取细节参数的配置能力
掌握了Excel文件读取的专项配置,包括工作表指定、读取引擎选型、头部行识别、编码格式设置、空记录过滤等关键参数;理解了各参数对数据读取结果的影响,比如头部行配置决定首行是否作为字段名,编码配置可避免中文乱码问题,建立了精细化配置数据源的意识。

6.2 实验故障与解决方案

故障:文本文件读取后所有数据合并为单列,字段解析失败
故障现象:使用CSV文件输入组件读取足球比赛文本文件usa_201209.txt,执行获取字段操作后仅生成1个字段,预览数据时整行内容都显示在同一列中,无法拆分出日期、地点、国家等独立字段。
故障原因:文件内部实际以英文分号;作为列分隔符,但组件默认的列分隔符为英文逗号,,分隔符配置与文件实际格式不匹配,导致平台无法识别字段边界,整行数据被识别为单个字段。
处理方案:双击打开CSV文件输入组件的配置界面,将「列分隔符」修改为与文件一致的英文分号;,重新执行「获取字段」操作;确认字段列表已正确拆分出所有目标字段后,点击确认保存配置,再次预览即可正常展示多列结构化数据。

Logo

一站式 AI 云服务平台

更多推荐