按尺寸对纱线的运行应用程序进行排名



我想出了一种按大小列出yarn正在运行的应用程序的方法。因为大小分为已分配的MB和已分配的VCore,所以我决定假设一个VCore大约是10000MB。

# Uses httpie and jq, or you could use curl with -H Content-Type:application/json
http http://yarn-web-ui-url:port/ws/v1/cluster/apps|jq '
.apps.app 
| sort_by(.allocatedMB + .allocatedVCores * 10000) 
| reverse 
| .[] 
| select(.state == "RUNNING") 
| {name, allocatedMB, allocatedVCores, user, id, trackingUrl}' | 
less

但是有什么方法可以直接在UI中做到这一点吗?如果没有,没有人看到更有效的方法来编写JQ部分。

有人看到写JQ部分的更有效的方法吗

为了提高效率,最好在排序之前进行选择。您的过滤器也可以稍微简化:

.apps.app 
| map(select(.state == "RUNNING"))
| sort_by(.allocatedMB + .allocatedVCores * 10000) 
| reverse[] 
| {name, allocatedMB, allocatedVCores, user, id, trackingUrl}

相关内容

  • 没有找到相关文章

最新更新