Boto3 EMR - Hive步骤

时间:2015-09-05 06:47:26

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

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

由于

1 个答案:

答案 0 :(得分:4)

我能够使用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)