gpmapreduce

按照YAML规范文档中的定义运行Greenplum的MapReduce作业。

注意: gpmapreduce 已被弃用。gpmapreduce数据库的下一个主版本(6.x)中将删除gpmapreduce和相关的YAML规范。请转而使用其他查询格式,例如SQL或过程语言扩展。

概要

  1. gpmapreduce -f yaml_file [dbname [username]]
  2. [-k name=value | --key name=value]
  3. [-h hostname | --host hostname] [-p port| --port port]
  4. [-U username | --username username] [-W] [-v]
  5. gpmapreduce -x | --explain
  6. gpmapreduce -X | --explain-analyze
  7. gpmapreduce -V | --version
  8. gpmapreduce -h | --help

先决条件

在运行此程序之前,需要执行以下操作:

  • 用户必须在YAML文件中定义用户的MapReduce作业。有关Greenplum MapReduce规范的信息,请参阅Greenplum数据库参考指南
  • 用户必须是Greenplum数据库超级用户才能运行使用不可信Perl或Python编写的MapReduce作业。
  • 用户必须是Greenplum数据库超级用户才能运行带有EXEC和FILE输入的MapReduce作业。
  • 用户必须是Greenplum数据库超级用户才能运行带有GPFDIST输入的MapReduce作业,除非用户具有适当的权限。有关更多信息,请参阅Greenplum数据库参考指南

描述

MapReduce是由Google开发的用于在商用服务器阵列上处理和生成大型数据集的编程模型。Greenplum MapReduce允许熟悉MapReduce范式的编程人员编写map和reduce函数,并将它们提交给Greenplum数据库并行引擎处理。

为了使Greenplum能够处理MapReduce函数,需要在YAML文档中定义函数,然后将其传递到Greenplum MapReduce程序gpmapreduce,以供Greenplum数据库并行引擎执行。Greenplum系统负责分布输入数据、在一组机器上执行程序、处理机器故障以及管理所需的机器间通信。

选项

-f yaml_file

必须。包含Greenplum MapReduce作业定义的YAML文件。请参阅Greenplum数据库参考指南

-? | —help

显示帮助,然后退出。

-V | —version

显示版本信息,然后退出。

-v | —verbose

显示详细输出。

-x | —explain

不运行MapReduce作业,而是生成解释计划。

-X | —explain-analyze

运行MapReduce作业并生成解释 - 分析计划。

-k | —keyname=value

设置一个YAML变量。需要一个数值。如果未指定变量名称,则默认为“key”。

连接选项

-h host | —host host

指定运行Greenplum的Master数据库服务器的机器的主机名。 如果未指定,则从环境变量PGHOST读取或默认为localhost。

-p port | —port port

指定Greenplum的Master数据库服务器正在侦听连接的TCP端口。 如果未指定,则从环境变量PGPORT读取或默认为5432。

-U username | —username username

要连接的数据库角色名称。如果未指定,则从环境变量PGUSER读取或默认为当前系统用户名。

-W | —password

强制口令提示。

示例

运行my_yaml.txt中定义的MapReduce作业,并连接到数据库mydatabase:

  1. gpmapreduce -f my_yaml.txt mydatabase

另见

Greenplum数据库参考指南中的Greenplum MapReduce规范。