Api 从应用程序运行弹性Mapreduce配置单元查询

Api 从应用程序运行弹性Mapreduce配置单元查询,api,hive,elastic-map-reduce,Api,Hive,Elastic Map Reduce,我在elastic mapreduce上以交互模式运行了Hive: /弹性mapreduce--创建--配置单元交互 在脚本模式下: ./elasticmapreduce--create--hive脚本--arg s3://mybucket/myfile.q 我希望在我自己的服务器上有一个应用程序(最好是PHP、R或Python),能够启动一个弹性mapreduce集群并运行几个配置单元命令,同时以可解析的形式获得它们的输出 我知道启动集群可能需要一些时间,所以我的应用程序可能需要在单独的步骤中

我在elastic mapreduce上以交互模式运行了Hive:

/弹性mapreduce--创建--配置单元交互

在脚本模式下:

./elasticmapreduce--create--hive脚本--arg s3://mybucket/myfile.q

我希望在我自己的服务器上有一个应用程序(最好是PHP、R或Python),能够启动一个弹性mapreduce集群并运行几个配置单元命令,同时以可解析的形式获得它们的输出

我知道启动集群可能需要一些时间,所以我的应用程序可能需要在单独的步骤中完成这一工作,然后等待集群准备就绪。但是有没有什么方法可以像下面这个有点具体的假设例子那样:

  • 创建配置单元表客户订单
  • 运行配置单元查询“按dt从客户订单组中选择dt,计数(*)”
  • 等待结果
  • 用PHP解析结果
  • 运行配置单元查询“从客户订单中选择最大(id)”
  • 等待结果
  • 用PHP解析结果
  • 有人对我如何做有什么建议吗?

    您可以使用。它允许您在Python2.5+中编写MapReduce作业,并在多个平台上运行它们

    另一种选择是,这是一个很棒的项目,可能足以满足您的所有需求。HiPy的目的是支持Python中配置单元查询的编程构造,并更方便地管理查询,包括使用转换脚本的查询

    HiPy支持在单个查询脚本中进行分组 构建、转换脚本和后处理。这有助于 脚本的可追溯性、文档和可重用性。一切 显示在一个位置,Python注释可用于记录 剧本

    配置单元查询是通过组合一些Python对象构建的, 表示列、表和Select语句等内容。 在此过程中,HiPy跟踪结果的模式 查询输出

    转换脚本可以包含在Python的主体中 剧本HiPy将负责向用户提供脚本代码 配置单元以及数据到/从的序列化和反序列化 Python数据类型。如果任何数据列包含JSON,HiPy将采用 还要注意将其转换为Python数据类型或从Python数据类型转换为Python数据类型


    详细信息,请查看

    谢谢大家!!我没听说过HiPy。我会查一查。我最近听说过mrjob,但据我所知,它不使用Hive。我最近遇到了AWS PHP SDK 1,它似乎可以使用: