Cloudera Navigator API 无法获取嵌套数据
Posted
技术标签:
【中文标题】Cloudera Navigator API 无法获取嵌套数据【英文标题】:Cloudera Navigator API fail to fetch nested data 【发布时间】:2016-06-23 05:47:08 【问题描述】:我在 Cloudera Manager Navigator REST API 中工作,其中提取结果工作正常,但无法获取任何嵌套值。
提取的数据类型如下。
"parentPath": "String",
"customProperties": "Map[string,string]",
"sourceType": "String",
"entityType": "String"
数据应该是这样的
"parentPath": "abcd",
"customProperties":
"nameservice" : "xyz"
,
"sourceType": "rcs",
"entityType": "ufo"
但我得到的键值结果如下。
parentPath :abcd
customProperties : null
sourceType : rcs
entityType : ufo
在上述响应数据中,“customProperties”带有一个空值,它应该返回一个包含["nameservice" : "xyz"]
的地图对象。这是下面代码sn-p的问题。
MetadataResultSet metadataResultSet = extractor.extractMetadata(null, null,"sourceType:HDFS", "identity:*");
Iterator<Map<String, Object>> entitiesIt = metadataResultSet.getEntities().iterator();
while(entitiesIt.hasNext())
Map<String, Object> result = entitiesIt.next();
for(String data : result.keySet())
System.out.println(" key:"+data+" value:"+result.get(data));
您能否建议我如何获取数据类型复杂的嵌套值。
【问题讨论】:
【参考方案1】:您是否检查过数据在导航器 ui 上的外观?您可以先验证一次,然后在浏览器中尝试 cloudera /entities/entity-id rest API 来检查 json 响应是如何到来的
【讨论】:
Navigator UI 不包含所有这些详细信息数据,并且“abcd:7777/api/v9/actions/running”正在返回 []。但是针对 (/entities/entity-id) 的 JSON 响应带有适当的数据。在提取简单数据期间,我的 java 代码也没有任何问题,只有复杂类型(如上所述的“customProperties”)返回空值。以上是关于Cloudera Navigator API 无法获取嵌套数据的主要内容,如果未能解决你的问题,请参考以下文章
IOS10 window.navigator.geolocation.getCurrentPosition 无法定位问题
python 通过Cloudera Manager API转储集群/服务/角色配置的快速而脏的脚本http://cloudera.github.io/cm_api/。
navigator.geolocation.getCurrentPosition 不在 chrome 中工作