[英]How to set Data Granularity with cm_api api.query_timeseries
我正在嘗試使用https://cloudera.github.io/cm_api/docs/python-client/中共享的代碼獲取過去 1 周的 files_total 和 dfs_capacity_used 指標
import time
import datetime
from_time = datetime.datetime.fromtimestamp(time.time() - 1800)
to_time = datetime.datetime.fromtimestamp(time.time())
query = "select files_total, dfs_capacity_used " \
"where serviceName = HDFS-1 " \
" and category = SERVICE"
result = api.query_timeseries(query, from_time, to_time)
ts_list = result[0]
for ts in ts_list.timeSeries:
print "--- %s: %s ---" % (ts.metadata.entityName, ts.metadata.metricName)
for point in ts.data:
print "%s:\t%s" % (point.timestamp.isoformat(), point.value)
我得到的是 output。 但是數據粒度每天都在顯示。 有沒有辦法每 6 小時獲取一次 output,就像從 Cloudera UI 共享的快照中的選項一樣,如下所示,
query_timeseries 不提供數據粒度選項。 它將自動確定可以覆蓋我們設置的時間段的時間段。
通過以下獲取 function 我們可以根據數據粒度進行檢索
api=ApiResource('CM_HOST',username='admin',password='admin') api.get(relpath='timeseries',params={'query':'select files_total, dfs_capacity_used where serviceName = HDFS-1 and category = SERVICE','desiredRollup':'RAW','mustUseDesiredRollup':'True','from':'2020-08-10','to':2020-08-17})
如果我們不想將粒度設置為 6 小時一次,那么我們可以將“desiredRollup”設置為“SIX_HOURLY”,將“mustUseDesiredRollup”設置為“True”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.