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 中工作

无法使用Web Audio API与iOS 11 Safari配合使用

Spark Shell 无法读取有效路径的文件

无法安装 cloudera-manager-agent 包