AtalsClientV2是一个简单获取atlas数据的工具包,加上官方的api就可以轻松完成对元数据的增删改查。
//提前在yml中配置好属性,这边直接获取值,这是atlas的地址
@Value(value = "${atlas.url}")
private String AtlasUrl;
//另外需要提供登录atlas页面的账户密码
@Value(value = "${atlas.user}")
private String[] AtlasUser;
public JSONArray getAtalsDAta() throws AtlasServiceException {
GovMetadataEntity govMetadataEntity = new GovMetadataEntity();
AtlasClientV2 atlasClientV2 = new AtlasClientV2(new String[]{AtlasUrl},AtlasUser);
MultivaluedMapImpl paramMap = new MultivaluedMapImpl();
//这里就是直接获取元数据了,比如所有的type
paramMap.add("type","entity");
SearchFilter searchFilter = new SearchFilter(paramMap);
AtlasTypesDef allTypeDefs = atlasClientV2.getAllTypeDefs(searchFilter);
JSONObject jsonObject = atlasClientV2.callAPI(AtlasClientV2.API_V2.GET_ALL_TYPE_DEFS, JSONObject.class, paramMap);
//因为返回的数据都是json串,所以必须用json对象接,之后怎么处理都很方便
//最简单的方法,可以直接使用alibaba的json解析工具包
JSONArray entityDefs = jsonObject.getJSONArray("entityDefs");
return entityDefs;
}
以下是yml文件配置方式:
#yml的配置方式(一定要注意格式)
atlas:
#配置atlas管理页面的地址和用户信息
url: http://hadoop201:21000
#使用 , 隔开可以配置数组,也可账号密码分开配置
user: admin,admin
#使用 - {list1:1,value2:2}则可以配置list表
public class AtlasClientV2 extends AtlasBaseClient {
BASIC_SEARCH = new AtlasClientV2.API_V2("api/atlas/v2/search/basic", "GET", Status.OK);
}
//这是atlasClientV2的核心,内置了很多api&