API Cloudera Navigator не может получить вложенные данные

Я работаю в REST API Cloudera Manager Navigator, где извлечение результатов работает нормально, но не удается получить вложенное значение.

Тип данных извлекается, как показано ниже.

{
    "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"], Это проблема следующего фрагмента кода.

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 ответ

Вы проверили, как данные выглядят на интерфейсе навигатора? Вы можете сначала проверить это один раз, а также попробовать cloudera /entity /entity-id rest API в браузере, чтобы проверить, как приходит ответ json

Другие вопросы по тегам