当前位置: 首页 > article >正文

海豚调度系列之:任务类型——SQL节点

海豚调度系列之:任务类型——SQL节点

  • 一、SQL节点
  • 二、创建任务
  • 三、任务参数
  • 四、任务样例
  • 五、运行该任务成功之后在hive中查询结果
  • 六、使用前置sql和后置sql示例

一、SQL节点

  • SQL任务类型,用于连接数据库并执行相应SQL。

二、创建任务

  • 点击项目管理-项目名称-工作流定义,点击"创建工作流"按钮,进入DAG编辑页面。
  • 工具栏中拖动 到画板中,选择需要连接的数据源,即可完成创建。

三、任务参数

  • 默认参数

在这里插入图片描述

  • 数据源:选择对应的数据源
  • sql类型:支持查询和非查询两种
  • 查询:支持 DML select 类型的命令,是有结果集返回的,可以指定邮件通知为表格、附件或表格附件三种模板;
  • 非查询:支持 DDL全部命令 和 DML update、delete、insert 三种类型的命令;
  • 默认采用;\n作为SQL分隔符,拆分成多段SQL语句执行。Hive的JDBC不支持一次执行多段SQL语句,请不要使用;\n。
  • sql参数:输入参数格式为key1=value1;key2=value2…
  • sql语句:SQL语句
  • UDF函数:对于HIVE类型的数据源,可以引用资源中心中创建的UDF函数,其他类型的数据源暂不支持UDF函数。
  • 自定义参数:SQL任务类型,而存储过程是自定义参数顺序,给方法设置值自定义参数类型和数据类型,同存储过程任务类型一样。区别在于SQL任务类型自定义参数会替换sql语句中${变量}。
  • 前置sql:前置sql在sql语句之前执行。
  • 后置sql:后置sql在sql语句之后执行。

四、任务样例

Hive表创建示例
在hive中创建临时表并写入数据

该样例向hive中创建临时表tmp_hello_world并写入一行数据。选择SQL类型为非查询,在创建临时表之前需要确保该表不存在,所以我们使用自定义参数,在每次运行时获取当天时间作为表名后缀,这样这个任务就可以每天运行。创建的表名格式为:tmp_hello_world_{yyyyMMdd}。 注意:sql任务组件的hive应用是基于JDBC去调用,SQL statement 不支持多行执行,请注意不要在语句末尾使用’;'。如果要执行多行语句请使用Hive-Cli任务。

在这里插入图片描述

五、运行该任务成功之后在hive中查询结果

登录集群使用hive命令或使用beeline、JDBC等方式连接apache hive进行查询,查询SQL为select * from tmp_hello_world_{yyyyMMdd},请将{yyyyMMdd}替换为运行当天的日期,查询截图如下:

在这里插入图片描述

六、使用前置sql和后置sql示例

在前置sql中执行建表操作,在sql语句中执行操作,在后置sql中执行清理操作。

在这里插入图片描述
注意事项

  • 注意SQL类型的选择,如果是INSERT等操作需要选择非查询类型。
  • 为了兼容长会话情况,UDF函数的创建是通过CREATE OR REPLACE语句

http://www.kler.cn/a/272087.html

相关文章:

  • JavaSE、JavaEE和Jakarta EE的历史、区别与联系
  • C#创建第一个PIESDK模版的项目
  • 力扣100热题:两、三、四数之和,哈希+数组+双指针+排序
  • 【智能算法】斑鬣狗优化算法(SHO)原理及实现
  • UE4 虚幻4快捷键教程
  • Rust 如何优雅关闭 channel
  • JVM实战篇
  • HTML静态网页成品作业(HTML+CSS)——游戏战地介绍设计制作(4个页面)
  • C#设计原则
  • 基于Java+SpringMVC+vue+element实现前后端分离校园失物招领系统详细设计
  • 数据集成工具 ---- datax 3.0
  • 6.【Linux】进程间通信(管道命名管道||简易进程池||简易客户端服务端通信)
  • Rust基础知识讲解
  • 图像分割的定义
  • ChatGPT登陆提示:“Please unblock challenges.cloudflare.com to proceed…”
  • 替代imx6ull mfgtool的方法
  • Leetcode 1. 两数之和
  • 新!PCA+DBO+K-means聚类,蜣螂优化算法DBO优化K-means,适合学习,也适合发paper。
  • 编译原理 第1章:概述
  • SpringBoot Servlet容器启动解析