开发者社区> 问答> 正文

EMR 常见问题?



集群列表

  1. #!/usr/bin/python
  2. from aliyunsdkcore import client
  3. from aliyunsdkemr.request.v20160408 import ListClustersRequest
  4. clt = client.AcsClient('SFAW************','Nc2nZ6dQoiqck0*************', ,'cn-hangzhou') # set acessId and accessKey
  5. request = ListClustersRequest.ListClustersRequest()
  6. request.set_accept_format('xml') # xml or json
  7. # 设置状态过滤,只查找RUNNING和IDLE的集群,注意该参数为选填参数,可以不设置
  8. request.add_query_param('StatusList.1', 'RUNNING')
  9. request.add_query_param('StatusList.2', 'IDLE')
  10. result = clt.do_action(request)
  11. print result


创建集群

  1. #!/usr/bin/python
  2. from aliyunsdkcore import client
  3. from aliyunsdkemr.request.v20160408 import CreateClusterRequest
  4. clt = client.AcsClient('SFAW************','Nc2nZ6dQoiqck0*************', ,'cn-hangzhou') # set acessId and accessKey
  5. request = CreateClusterRequest.CreateClusterRequest()
  6. request.set_Name("pydemo")
  7. request.set_ZoneId("cn-hangzhou-b")
  8. request.set_LogEnable(False)
  9. request.set_SecurityGroupId("sg-********")
  10. request.set_IsOpenPublicIp(True)
  11. request.set_ChargeType("PostPaid")
  12. request.set_EmrVer("EMR-1.3.0")
  13. request.set_ClusterType("HADOOP")
  14. request.set_IoOptimized(True)
  15. request.set_InstanceGeneration("ecs-2")
  16. # set EcsOrder
  17. request.add_query_param('EcsOrder.1.NodeCount', '1')
  18. request.add_query_param('EcsOrder.1.NodeType', 'MASTER')
  19. request.add_query_param('EcsOrder.1.InstanceType', 'ecs.n1.large')
  20. request.add_query_param('EcsOrder.1.DiskType', 'CLOUD_EFFICIENCY')
  21. request.add_query_param('EcsOrder.1.DiskCapacity', '80')
  22. request.add_query_param('EcsOrder.1.DiskCount', '1')
  23. request.add_query_param('EcsOrder.1.Index', '1')
  24. request.add_query_param('EcsOrder.2.NodeCount', '3')
  25. request.add_query_param('EcsOrder.2.NodeType', 'CORE')
  26. request.add_query_param('EcsOrder.2.InstanceType', 'ecs.n1.large')
  27. request.add_query_param('EcsOrder.2.DiskType', 'CLOUD_EFFICIENCY')
  28. request.add_query_param('EcsOrder.2.DiskCapacity', '80')
  29. request.add_query_param('EcsOrder.2.DiskCount', '4')
  30. request.add_query_param('EcsOrder.2.Index', '2')
  31. request.set_accept_format('json')
  32. result = clt.do_action(request)
  33. print result

注意,由于阿里云产品众多,所有SDK的生成是通过程序自动生成的,所以有些SDK的使用比较不方便,特别地,在目前PythonSDK中,对入参是List(不管是基本类型的List还是复杂对象的List)支持不好,需要特殊处理。如果是基本类型的List入参,请参考“集群列表”示例代码中对StatusList参数的设置,如果是复杂对象的List入参,请参考“创建集群”示例代码中对EcsOrder参数的设置。其它List入参,例如BootstrapAction参数如果需要使用的话,处理方式类似。JavaSDK没有类似问题,使用起来会更加方便,我们优先 推荐您使用Java SDK。

其它接口操作类似,具体参考: https://help.aliyun.com/document_detail/28140.html

展开
收起
nicenelly 2017-10-30 10:52:08 2326 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
生命密码-基因数据的EMR实践 立即下载
超大规模机器学习在EMR的实践 立即下载
EMR弹性低成本离线大数据分析最佳实践 立即下载