Boto और अंतर्निहित ईएमआर API में इस समय मामले क्लस्टर और काम प्रवाह मिश्रण है, और काम प्रवाह deprecated जा रहा है। मैं उन्हें समानार्थी मानता हूं।
आप boto.emr.connection.run_jobflow()
फ़ंक्शन को कॉल करके एक नया क्लस्टर बनाते हैं। यह क्लस्टर आईडी लौटाएगा जो ईएमआर आपके लिए उत्पन्न करता है।
पहले सभी अनिवार्य बातें:
instance_groups = []
instance_groups.append(InstanceGroup(
num_instances=1,
role="MASTER",
type="m1.small",
market="ON_DEMAND",
name="Main node"))
instance_groups.append(InstanceGroup(
num_instances=2,
role="CORE",
type="m1.small",
market="ON_DEMAND",
name="Worker nodes"))
instance_groups.append(InstanceGroup(
num_instances=2,
role="TASK",
type="m1.small",
market="SPOT",
name="My cheap spot nodes",
bidprice="0.002"))
अंत में हम एक नए क्लस्टर शुरू:
#!/usr/bin/env python
import boto
import boto.emr
from boto.emr.instance_group import InstanceGroup
conn = boto.emr.connect_to_region('us-east-1')
फिर हम मौके कीमत हम टास्क नोड्स के लिए भुगतान करना चाहते हैं सहित, उदाहरण के समूहों को निर्दिष्ट:
cluster_id = conn.run_jobflow(
"Name for my cluster",
instance_groups=instance_groups,
action_on_failure='TERMINATE_JOB_FLOW',
keep_alive=True,
enable_debugging=True,
log_uri="s3://mybucket/logs/",
hadoop_version=None,
ami_version="2.4.9",
steps=[],
bootstrap_actions=[],
ec2_keyname="my-ec2-key",
visible_to_all_users=True,
job_flow_role="EMR_EC2_DefaultRole",
service_role="EMR_DefaultRole")
हम भी क्लस्टर आईडी मुद्रित कर सकते हैं, तो हम उस के बारे में परवाह:
print "Starting cluster", cluster_id
बोटो के बजाय 'boto3' के साथ इस उत्तर के लिए कोई अपडेट? – Navneet
@vilsepi यह मुझे यह त्रुटि देता है अमेज़ॅन ईएमआर क्लस्टर (पायथन में क्लस्टर) 2017-10-02 08:21 यूटीसी में त्रुटियों के साथ समाप्त हो गया है VALIDATION_ERROR के कारण। विचार? –
thebeancounter