Я пытаюсь создать кластер EMR, написав лямбда-функцию AWS с использованием библиотеки python boto. Однако я могу создать кластер, но хочу использовать «Каталог данных клея AWS для метаданных таблицы», чтобы я мог использовать искрунепосредственно при чтении из каталога данных клея. При создании кластера EMR через пользовательский интерфейс AWS я обычно отмечаю флажок («Использовать каталог данных клея AWS для метаданных таблицы»), который решает мою задачу. Но я не понимаю, как можноЯ достигаю того же с помощью библиотеки boto.
Ниже приведен код Python, который я использую для создания кластера EMR.
try:
connection = boto3.client(
'emr',
region_name='xxx'
)
cluster_id = connection.run_job_flow(
Name='EMR-LogProcessing',
LogUri='s3://somepath/',
ReleaseLabel='emr-5.21.0',
Applications=[
{
'Name': 'Spark'
},
],
Instances={
'InstanceGroups': [
{
'Name': "MasterNode",
'Market': 'SPOT',
'InstanceRole': 'MASTER',
'BidPrice': 'xxx',
'InstanceType': 'm3.xlarge',
'InstanceCount': 1,
},
{
'Name': "SlaveNode",
'Market': 'SPOT',
'InstanceRole': 'CORE',
'BidPrice': 'xxx',
'InstanceType': 'm3.xlarge',
'InstanceCount': 2,
}
],
'Ec2KeyName': 'xxx',
'KeepJobFlowAliveWhenNoSteps': True,
'TerminationProtected': False
},
VisibleToAllUsers=True,
JobFlowRole='EMR_EC2_DefaultRole',
ServiceRole='EMR_DefaultRole',
Tags=[
{
'Key': 'Name',
'Value': 'EMR-LogProcessing',
},
{
'Key': 'env',
'Value': 'dev',
},
],
)
print('cluster created with the step...', cluster_id['JobFlowId'])
except Exception as exp:
logger.info("Exception Occured in createEMRcluster!!! %s", str(exp))
Я не нахожу никакой подсказки, как мне этого добиться.Пожалуйста, помогите.