反馈已提交

网络繁忙

多张Excel表数据关联后再进行加工计算

  • 文档创建者:Wendy123456
  • 历史版本:7
  • 最近更新:Wendy123456 于 2023-08-23
  • 1. 概述

    1.1 预期效果

    用户有两张表,存在不同的数据库中,表数据包含姓名和科目成绩,想要这两张表合并为一张表,且新增一列为科目成绩的总和,将最终数据输出到指定数据库中。

    1.2 实现思路

    先将两张成绩表通过「数据关联」算子合并为一张表,再通过「Spark SQL」算子实现新增列的效果,最后通过「DB表输出算子输出表数据。

    2. 示例

    2.1 准备数据

    示例数据表:chinese.xlshistory.xls

    两张表数据分别在两个数据库中,表数据如下图所示:

    1650336472173660.png

    用户想让这两张表合并为一张表,且新增一列,新增一列的值为「语文成绩」和「历史成绩」的和。最终效果如下图所示:

    1692779831432976.png

    2.2 跨库关联

    2.2.1 创建任务

    新建一个 ETL 任务,将一个「数据转换」节点拖到设计界面。如下图所示:

    4.png

    2.2.2 设置数据输入

    1)点击「数据转换」节点进入设置页面。

    2)将一个DB输入算子拖到数据转换的设计界面,如下图设置数据来源,并右键节点将其重命名为「语文成绩表」。如下图所示:

    6.png

    3)再将一个DB输入算子拖到数据转换的设计界面,如下图设置数据来源,并右键节点将其重命名为「历史成绩表」。如下图所示:

    7.png

    2.2.3 设置连接

    将一个数据关联算子拖到数据转换的设计界面,用线条跟两个上游节点「语文成绩表」和「历史成绩表」连起来。

    点击「数据关联」节点,左表设置为「语文成绩表」,右表设置为「历史成绩表」,连接方式选择「左连接」,连接字段设置为「姓名」,右键节点重命名为「数据左合并」。如下图所示:

    注:连接字段就是两张表的关联字段,可以设置多个,多个连接字段为且的关系。

    9.png

    配置好关联后,可以在数据预览」Tab页查看表合并的效果:

    10.png

    2.3 新增列-总成绩

    想计算出每位同学语文成绩和历史成绩的和。

    1)将 Spark SQL 算子拖到数据转换的设计界面,并使用线条跟它的上游「数据左合并」算子相连。如下图所示:

    11.png

    2)按照下图配置 Spark SQL 。语句为:SELECT `姓名` ,`语文成绩` ,`历史成绩` , `语文成绩` +`历史成绩` AS zonghe FROM 数据左合并。如下图所示:

    注:表名为上游节点的名称;语句不能直接复制,「数据左合并」需点击生成。

    12.png

    「数据预览」Tab 下查看数据,如下图所示:

    13.png

    2.4 设置 DB 表输出

    再将一个「DB表输出」算子拖到设计界面,并使用线条跟它的上游「Spark SQL」算子相连。

    点击「DB表输出」算子对它进行设置。如下图所示:

    点击「字段映射」,界面如下图所示:

    注:如果想修改字段名,建议在「Spark SQL」算子后再添加个 字段设置 算子。

    15.png

    2.5 运行节点

    1)点击右上角「确定」按钮。如下图所示:

    16.png

    2)回到 ETL 任务设计界面,点击右上角「保存并运行」,日志有执行成功信息表示任务成功运行。

    17.png

    可以看到表 chengji 的数据如下图所示:

    1692779810495701.png



    附件列表


    主题: 数据开发
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持