1 概述

1.1 版本

服务器版本
v7.2.0及之后版本

1.2 应用场景

对API数据源等非关系型数据进行加工处理时,如果先将数据抽取到数据库后利用
SQL进行加工处理,往往会导致目标数据库产生很多冗余数据。
若使用【SparkSQL】算子可实现在数据开发平台内便完成对各类数据源的加工处理,包括:数据清洗、增加计算列、数据过滤、左右关联、上下关联、分组汇总、排序等。

1.3 功能简介

【SparkSQL】是开放式的数据处理组件,通过编写SQL可实现大部分的数据处理业务,语法与SQL类似。
使用【SparkSQL】可以获取上游输出的数据,对其进行查询和处理,并输出给下游。

2 功能说明

【SparkSQL】设置包括:配置和数据预览。
“配置”tab支持的功能包括:SQL语句和数据预览。

1、SQL语句
编写需要对上游数据进行查询和处理的语句,可以引用上游节点(显示与该SparkSQL节点相连的所有上游节点)和对应的字段,双击对应的上游节点和字段即可,引用后可自动获取上游的节点作为输入表。

  • SparkSQL兼容通用SQL,支持范围与”数据同步-数据来源”中一致,若需要使用 update 等语句,请使用SQL脚本
  • Spark SQL可以作为输入型算子进行使用,支持使用加密函数或者引用参数,参数的写法为:${参数名称};如果参数为字符型,需要加单引号,即格式为:’${参数名称}’。
  • SparkSQL常用语法及介绍请参见:SparkSQL常用语法

2、数据预览
数据来源配置完成后,点击“数据预览”,将根据设置的SQL语句获取到对应的数据,如下图:

设计时只采样 1000 条数据进行计算,避免数据量过大导致服务器压力大,实际运行时会根据实际条数来进行计算。
若取数异常,将显示错误信息,协助用户快速定位出错原因并修正。

2 示例

业务场景:将模板执行日志 dn_m_templete_l 表按照 DETAIL_TYPE进行聚合,汇总出不同状态的模板执行数量。
具体实现步骤如下:
1、获取 dn_m_templete_l 表数据
1)新建任务,添加【数据转换】节点,并双击进去该节点的设计界面;
2)添加【DB输入】节点命名为“模板执行日志”,获取 dn_m_templete_l 表数据,配置如下图:

3)点击“数据预览”可查看获取的数据,如下图:

2、使用 SparkSQL 进行数据处理
添加【SparkSQL】节点命名为“聚合”,编写 SQL 语句,将“模板执行日志”节点中获取的数据按照 DETAIL_TYPE 进行聚合,如下图:

3、输出数据
添加【DB输出】节点与【SparkSQL】节点连接,配置“数据去向”将处理后的数据输出。如下图所示:

作者:fancy  创建时间:2024-06-13 10:58
最后编辑:柳杨  更新时间:2025-03-27 15:47