kettle 调用hive 然后底层改为tez为啥还跑mr呢
  o5d6YXskvtfh 2023年12月07日 30 0

kettle调用hive底层改为tez但仍然跑mr的流程与实现步骤

流程概述

下面将详细介绍在kettle中如何调用hive,同时将底层执行引擎从mr改为tez,但是仍然会跑mr的原因。

整个流程可以分为以下几个步骤:

  1. 创建一个kettle作业(Job),包含一个转换(Transformation)步骤。
  2. 在转换中添加一个Shell脚本步骤,用于执行hive的查询语句。
  3. 配置Shell脚本步骤的参数,设置为调用hive的命令。
  4. 配置转换中的输入和输出步骤,用于数据的读取和写入。
  5. 运行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
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月07日 0

暂无评论

o5d6YXskvtfh
最新推荐 更多

2024-05-31