Python命令,用于获取运行YARN的应用程序所使用的容器和vcores的数量

时间:2017-12-12 15:21:45

标签: python hadoop yarn

1。问题

基于这个问题和答案:YARN shell command to get number of containers and vcores used by running applications 我使用这个YARN应用程序命令:

yarn application -status application_1511888377927_11169

得到这样的结果:

Application Report :
        Application-Id : application_1511888377927_11169
        Application-Name : some_funny_application.py
        Application-Type : SPARK
        User : hadoop
        Queue : root.MyQueue
        Start-Time : 1513086671642
        Finish-Time : 0
        Progress : 50%
        State : RUNNING
        Final-State : UNDEFINED
        Tracking-URL : http://10.0.0.100:1111
        RPC Port : 0
        AM Host : 10.0.0.100
        Aggregate Resource Allocation : 937266225 MB-seconds, 541312 vcore-seconds
        Diagnostics :

2。问题

如何使用Python获得此结果?

1 个答案:

答案 0 :(得分:0)

我不知道相信实际上有一个“python命令”可以完成你希望在这里实现的功能,但是,python具有在主机操作系统上执行命令的内置功能。这是一个简单的例子,你可以从解释器中轻松运行和测试:

    $ python # from the linux shell
    >>> import os
    >>> app_id = 'application_1511888377927_11169'
    >>> os.system('yarn application -status {appid}'.format(appid=app_id))

根据您在此处所需的要求和复杂程度,使用subprocess模块解决此问题可能会更加pythonic,但os.system可能是您正在寻找的。< / p>