You need to enable JavaScript to run this app.
导航
使用说明
最近更新时间:2023.11.27 14:22:05首次发布时间:2021.09.01 17:27:34

1 概述

MapReduce 是用于并行处理大数据集的软件框架。用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归纳)”,及他们的主要思想,都是从函数式编程语言借鉴的,还有从矢量编程语言借来的特性。更多信息,请参阅 MapReduce 教程
本文将为您介绍如何使用 mapreduce2 执行 SQL 作业。

2 前提条件

  • 已创建好包含 Hive 组件服务的火山引擎 E-MapReduce(EMR)集群。详见创建集群

  • 已安装 OpenLDAP 服务并添加有用户。

3 操作指南

3.1 使用 Hive 提交 MR 任务

使用 Hive 提交 MR 任务,需先将 Hive 切换 MR 为执行引擎:

  1. 登录 EMR 控制台

  2. 在左侧导航栏中,单击进入集群管理 > 集群列表 > 集群详情 > 服务列表 > Hive > 服务参数界面。

  3. 修改 Hive 参数 hive.execution.engine 为 mr,在右上角单击服务操作 > 重启按钮,重启 Hive 服务。

3.1.1 登录 EMR master 节点

  1. 单击集群列表 > 集群名称 > 服务列表 > Hive > 部署拓扑页签,进入 Hive 组件服务的部署拓扑界面。

  2. 展开 HiveServer2 组件名称,单击其主机名称的 ECS ID,跳转进入到云服务器的实例界面,点击右上角的远程连接按钮。

  3. 选择一种远程连接方式(推荐选择 ECS Terminal),并输入集群相关认证信息,登录到 Hive 集群的命令行环境中,来执行相关命令行操作。

3.1.2 连接 HiveServer2

参考 Hive连接方式 章节连接 HiveServer2,示例如下:

beeline -u "jdbc:hive2://<HiveServer2地址>:10000/" -n <username> -p <password>

说明

命令行传递的 username 和 password 参数来自您在 EMR 控制台 集群详情 > 用户管理页面,通过 IAM 用户导入或手动添加的用户名和密码信息。详情参看用户管理

3.1.3 执行 Hive 语句

连接 HiveServer2 后,您可根据实际场景执行相关 Hive 语句,示例如下:

select orderkey,count(*) from lineitem group by orderkey limit 100;

3.2 使用 Jar 包直接提交

参考 “3.1.1 登录 EMR master 节点”,登录集群后,执行以下 hadoop jar 提交命令:

/usr/lib/emr/current/hadoop/bin/hadoop jar /usr/lib/emr/current/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar pi 16 100000
//提交 jar 包,参数分别为
// 所需执行 jar 包位置,比如/usr/lib/emr/current/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar
// 主类名称 比如pi
// 提交参数 比如 16 100000,有些任务会通过参数指定输入输出文件位置,同理