gpmapreduce
按照YAML规范文档中的定义运行Greenplum的MapReduce作业。
概要
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数据库超级用户才能运行带有
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
T要连接的数据库角色名称。如果未指定,则从环境变量PGUSER
读取或默认为当前系统用户名。
-W | --password
强制口令提示。
示例
运行my_yaml.txt
中定义的MapReduce作业,并连接到数据库
mydatabase
:
gpmapreduce -f my_yaml.txt mydatabase
另见
Greenplum数据库参考指南中的Greenplum MapReduce规范。