【问题标题】:Boto3 EMR - Hive stepBoto3 EMR - Hive 步骤
【发布时间】:2016-05-19 04:25:06
【问题描述】:

是否可以使用 boto 3 执行 hive 步骤?我一直在使用 AWS CLI 这样做,但从文档 (http://boto3.readthedocs.org/en/latest/reference/services/emr.html#EMR.Client.add_job_flow_steps) 看来,似乎只接受 jars。如果 Hive 步骤可行,资源在哪里?

谢谢

【问题讨论】:

    标签: amazon-web-services hive boto emr boto3


    【解决方案1】:

    我能够使用 Boto3 让它工作:

    # First create your hive command line arguments
    hive_args = "hive -v -f s3://user/hadoop/hive.hql"
    
    # Split the hive args to a list
    hive_args_list = hive_args.split()
    
    # Initialize your Hive Step 
    hiveEmrStep=[
            {
                'Name': 'Hive_EMR_Step',
                'ActionOnFailure': 'CONTINUE',
                'HadoopJarStep': {
                    'Jar': 'command-runner.jar',
                    'Args': hive_args_list
                }
            },
        ]
    
    # Create Boto3 session and client
    session = boto3.Session(region_name=AWS_REGION,profile_name=AWS_PROFILE)
    client = session.client('emr')
    
    # Submit and execute EMR Step
    client.add_job_flow_steps(JobFlowId=cluster_id,Steps=hiveEmrStep)
    
    #Where cluster_id is the ID of your cluster from AWS EMR (ex: j-2GS7xxxxxx)
    

    【讨论】:

      【解决方案2】:

      在以前的 Boto 版本中,有一个名为 HiveStep 的帮助器类,它可以轻松构建用于执行 Hive 作业的作业流步骤。但是在 Boto3 中,方法发生了变化,并且类是在运行时从 AWS REST API 生成的。因此,不存在这样的辅助类。查看HiveStephttps://github.com/boto/boto/blob/2d7796a625f9596cbadb7d00c0198e5ed84631ed/boto/emr/step.py的源码可以看出这是Step的一个子类,是一个有jarargsmainclass属性的类,和里面的要求很相似博托3。

      事实证明,EMR 上的所有作业流程步骤(包括 Hive 步骤)仍然需要从 JAR 中实例化。因此,您可以通过 Boto3 执行 Hive 步骤,但没有帮助类来轻松构建定义。

      通过查看 HiveStep 在之前版本的 Boto 中使用的方法,您可以构建有效的工作流定义。

      或者,您可以回退到使用以前版本的 Boto。

      【讨论】:

      • 使用 Boto3 的蜂巢步骤的示例是什么?我似乎找不到任何示例或指针。我宁愿使用最新的发布标签(4.0)。
      • 不确定 4.0 版本标签是什么意思?
      • 这是最新的 emr 4.0 版本。它作为 CLI 的参数传递。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多