更新时间:2026-08-05 GMT+08:00
在Hive脚本中使用参数并进行作业调度
本章节介绍如何在数据开发模块上开发一个Hive脚本并进行作业调度的示例。
开发Hive SQL脚本
- 登录数据治理中心DataArts Studio控制台。
- 选择一个实例进入后,选择工作空间“数据开发”。
- 在左侧菜单栏选择“数据开发 > 脚本开发”。
- 创建一个Hive SQL脚本,脚本名称为“hive_test”。
- 编写Hive SQL脚本。编写以下Hive脚本,该脚本包含参数传递。假设我们要从一个表中选择数据并插入到另一个表中。
-- 定义参数 SET output_path = '${output_path}'; -- 创建目标表(如果不存在) CREATE TABLE IF NOT EXISTS target_table ( id INT, name STRING, description STRING ); -- 插入数据 INSERT INTO target_table SELECT id, name, description FROM source_table WHERE id > 100; - 保存并提交版本。
- 运行脚本。
开发MRS Hive SQL作业并执行调度
- 登录数据治理中心DataArts Studio控制台。
- 选择一个实例进入后,选择工作空间“数据开发”。
- 在左侧菜单栏选择“数据开发 > 作业开发”。创建批处理的Pipeline作业。
- 在作业画布中,从左侧节点列表中拖动“MRS Hive SQL”节点到画布上,配置MRS Hive SQL节点参数。 配置“SQL脚本”参数,需要新建Hive SQL脚本或者引用已创建的Hive SQL脚本。新建时,单击
编写Hive SQL脚本,该脚本包含参数传递。假设我们要从一个表中选择数据并插入到另一个表中: -- 定义参数 SET output_path = '${output_path}'; -- 创建目标表(如果不存在) CREATE TABLE IF NOT EXISTS target_table ( id INT, name STRING, description STRING ); -- 插入数据 INSERT INTO target_table SELECT id, name, description FROM source_table WHERE id > 100;
- 如果没有已创建好的脚本,单击“新建”按钮(
),创建Hive SQL脚本,并引用该脚本。 - 如果已创建好的脚本,直接引用已创建Hive SQL脚本。(开发Hive SQL脚本已创建)
- 引用已创建的Hive SQL脚本时,数据连接、数据库等参数信息会自动同步已关联的脚本配置信息。
- 如果没有已创建好的脚本,单击“新建”按钮(
- 配置参数传递。配置Hive SQL节点参数。
- 单击“作业参数配置”页签,添加一个参数。
- 参数名称设置为output_path。
- 参数值设置为Hive SQL脚本中需要的输出路径,例如 /user/your_username/hive_output。
- 保存并提交版本。
- 单击“执行调度”运行作业。
- 查看运行结果。
在“批作业监控”页面,确保作业运行成功。单击作业前面的
,在操作列查看MRS Hive SQL节点的运行日志信息。例如,日志信息可能如下:
INFO : Compiling command(queryId=hive_20231005144532_12345678-1234-1234-1234-1234567890ab): ...... INFO : Semantic Analysis Completed INFO : Returning Hive schema: Schema(fieldSchemas:[FieldSchema(name:id, type:int, comment:null), FieldSchema(name:name, type:string, comment:null), FieldSchema(name:description, type:string, comment:null)], properties:null) INFO : Completed compiling command(queryId=hive_20231005144532_12345678-1234-1234-1234-1234567890ab); Time taken: 0.097 seconds INFO : Executing command(queryId=hive_20231005144532_12345678-1234-1234-1234-1234567890ab): ...... INFO : Starting task [Stage-0:MOVE] in serial mode INFO : Loading data to table default.target_table from hdfs://your_hdfs_path INFO : Table default.target_table stats: [numFiles=1, numRows=0, totalSize=1234, rawDataSize=0] INFO : Completed executing command(queryId=hive_20231005144532_12345678-1234-1234-1234-1234567890ab); Time taken: 0.123 seconds INFO : OK
父主题: 脚本开发使用教程