普元数据开发平台 普元数据开发平台
产品介绍
安装部署
快速入门
操作指南
应用集成
运维指南
  • SQL程序
  • 说明
  • 配置项说明
  • FAQ

# SQL程序

  • 说明
  • 配置项说明
  • 使用示例
    • 查询类SQL程序
    • 查询类SQL程序(带参数)
    • 非查询类SQL程序
  • FAQ

# 说明

SQL 程序用于直接连接各类数据库执行 SQL 语句 / 脚本,无需编写 Shell/Java 代码,支持批处理执行、结果集输出、失败重试等特性:

  • 支持数据源:MySQL、PostgreSQL、Hive、ClickHouse、Doris、Oracle、SQL Server 等主流数据库;
  • 执行模式:单条 SQL、多条 SQL(分号分隔)、SQL 文件(资源中心);
  • 核心能力:支持参数化 SQL、执行结果展示、超时控制、事务管理(部分数据库)。

支持查询和非查询两种:

  • 查询:支持 DML select 类型的语句,是有结果集返回的;
  • 非查询:支持 DDL 全部语句 和 DML update、delete、insert 三种类型的语句;
    • 分段执行符号:提供在数据源不支持一次执行多段SQL语句时,拆分SQL语句的符号来进行多次调用数据源执行方法。
      例如:
      1.当数据源选择 Hive 数据源时,不需要填写此参数。因为 Hive 数据源本身支持一次执行多段 SQL 语句;
      2.当数据源选择 MySQL 数据源时,并且要执行多段 SQL 语句时,需要填写此参数为英文分号 ;。因为MySQL数据源不支持一次执行多段 SQL 语句。

# 配置项说明

配置项 默认值 描述
数据源 - 选择SQL语句所执行的对应的数据源。
SQL类型 查询 支持查询和非查询两种。
查询:支持 DML select 类型的命令,有结果集返回。
非查询:支持 DDL全部命令 和 DML update、delete、insert 三种类型的命令。
分段执行符号 - 数据源不支持一次执行多段 SQL 语句时,用拆分 SQL 语句的符号来进行多次调用数据源执行方法。
日志行数 10 执行 SQL 语句返回的结果行数。
SQL语句 - 用户编写 SQL 语句。

SQL 内容配置(核心)

直接填写 SQL 语句,支持单条 / 多条(分号分隔),示例:

-- 单条 SQL
INSERT OVERWRITE TABLE ods.user_info PARTITION (dt = '${sys.date}')
SELECT id, name, age FROM raw.user_info WHERE dt = '${sys.date}';

-- 多条 SQL(分号分隔)
USE ods;
ALTER TABLE user_info DROP IF EXISTS PARTITION (dt = '${sys.date}');
INSERT INTO TABLE user_info PARTITION (dt = '${sys.date}')
SELECT id, name, age FROM raw.user_info WHERE dt = '${sys.date}';

# FAQ

常见问题与排查

  1. 数据源连接失败

原因:网络不通、账号密码错误、数据库服务未启动;

解决:测试数据源连接,检查防火墙 / 端口,确认数据库账号权限。

  1. SQL 执行报错「参数未定义」

原因:参数名拼写错误、参数未配置、参数值为空;

解决:检查「自定义参数」配置,在 SQL 中增加 SELECT '${参数名}' 调试参数值。

  1. 多条 SQL 部分执行失败

原因:未开启事务,前序 SQL 失败后后续仍执行;

解决:开启「事务支持」(仅支持事务的数据库),或拆分 SQL 为多个独立 SQL 任务。

  1. SELECT 结果为空

原因:SQL 逻辑错误、参数值错误、数据不存在;

解决:在数据库客户端手动执行 SQL(替换参数值),验证逻辑正确性。

  1. SQL 执行超时

原因:SQL 逻辑复杂、数据量过大、数据库资源不足;

解决:优化 SQL(加索引、分批次执行),调整「超时时间」,增加数据库资源。

← CDC增量同步 Shell程序 →