如何解决如何使用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)
我正在获取输出。但是数据粒度每天都在显示。有没有办法像下面从Cloudera UI共享的快照中的选项那样每6小时获取一次输出,
解决方法
query_timeseries不提供“数据粒度”选项。它将自动确定可以覆盖我们设置的时间段的时间段。
使用下面的get函数,我们可以根据数据粒度进行检索
api = ApiResource('CM_HOST',用户名='管理员',密码='管理员') api.get(relpath ='timeseries',params = {'query':'select files_total, dfs_capacity_used,其中serviceName = HDFS-1,类别= SERVICE','desiredRollup':'RAW','mustUseDesiredRollup':'True','from':'2020-08-10','to':2020-08-17})
如果我们几乎不希望将粒度设置为每小时6个,则可以将“ desiredRollup”设置为“ SIX_HOURLY”,将“ mustUseDesiredRollup”设置为“ True”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。