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」には null 値が含まれていますが、マップ オブジェクトを返す必要があります["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));
}
}
データ型が複雑なネストされた値を取得する方法を教えてください。