gpmapreduce

gpmapreduce

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

概要

gpmapreduce -f yaml_file [dbname [username]] 
     [-k name=value | --key name=value] 
     [-h hostname | --host hostname] [-p port| --port port] 
     [-U username | --username username] [-W] [-v]

gpmapreduce -x | --explain 

gpmapreduce -X | --explain-analyze

gpmapreduce -V | --version 

gpmapreduce -h | --help 

先决条件

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

  • 用户必须在YAML文件中定义用户的MapReduce作业。有关Greenplum MapReduce规范的信息,请参阅Greenplum数据库参考指南
  • 用户必须是Greenplum数据库超级用户才能运行使用不可信Perl或Python编写的MapReduce作业。
  • 用户必须是Greenplum数据库超级用户才能运行带有EXECFILE输入的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

gpmapreduce -f my_yaml.txt mydatabase

另见

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