kettle调用hive底层改为tez但仍然跑mr的流程与实现步骤
流程概述
下面将详细介绍在kettle中如何调用hive,同时将底层执行引擎从mr改为tez,但是仍然会跑mr的原因。
整个流程可以分为以下几个步骤:
- 创建一个kettle作业(Job),包含一个转换(Transformation)步骤。
- 在转换中添加一个Shell脚本步骤,用于执行hive的查询语句。
- 配置Shell脚本步骤的参数,设置为调用hive的命令。
- 配置转换中的输入和输出步骤,用于数据的读取和写入。
- 运行kettle作业。
实施步骤
步骤1:创建一个kettle作业
首先,打开kettle并创建一个新的作业。作业可以包含多个转换步骤,用于执行不同的任务。
步骤2:在转换中添加Shell脚本步骤
在作业中添加一个转换步骤,并打开该转换。在转换中添加一个Shell脚本步骤,用于执行hive的查询语句。
在转换步骤面板中,选择"Programming"选项卡,然后将Shell脚本步骤拖动到转换画布中。
步骤3:配置Shell脚本步骤的参数
在Shell脚本步骤的"Script"选项卡中,设置Shell脚本的参数。将其设置为调用hive命令的语句,例如:
hive -e "SELECT * FROM table_name;"
这个脚本会执行一个简单的查询并返回结果。
步骤4:配置转换中的输入和输出步骤
在转换中,需要配置输入和输出步骤用于数据的读取和写入。
首先,添加一个输入步骤,例如"Text file input"步骤,用于读取输入数据。在该步骤的"File"选项卡中设置输入文件的路径和格式。
然后,添加一个输出步骤,例如"Text file output"步骤,用于写入输出数据。在该步骤的"File"选项卡中设置输出文件的路径和格式。
步骤5:运行kettle作业
最后,保存并运行kettle作业。选择"Run"选项卡,然后点击"Start"按钮开始运行作业。
kettle会按照设定的步骤顺序执行,包括调用hive查询数据,读取输入数据和写入输出数据。
代码示例
下面是一些示例代码,用于在kettle中实现上述步骤。
Shell脚本调用hive示例
# 调用hive执行查询语句
hive -e "SELECT * FROM table_name;"
输入步骤配置示例
在kettle转换中添加一个"Text file input"步骤,并在"File"选项卡中设置输入文件的路径和格式。
| 步骤名称 | 参数 |
| :------------- | :---- |
| Text file input | File: /path/to/input.txt |
输出步骤配置示例
在kettle转换中添加一个"Text file output"步骤,并在"File"选项卡中设置输出文件的路径和格式。
| 步骤名称 | 参数 |
| :-------------- | :---- |
| Text file output | File: /path/to/output.txt |
流程图
下面是一个使用mermaid语法绘制的流程图,表示kettle调用hive底层改为tez但仍然跑mr的流程。
pie
title kettle调用hive底层改为tez但仍然跑mr的流程
"创建kettle作业" : 20
"添加Shell脚本步骤" : 30
"配置Shell脚本步骤的参数" : 25
"配置输入和输出步骤" : 15