我计划使用Apache Cassandra作为存储后端以及Elasticsearch作为索引后端来部署Apache Atlas。我想知道如何保存此谱系信息?它提供了获取API来获取血统信息,但似乎无法保存它。
答案 0 :(得分:2)
在Atlas中沿袭是通过使用输入和输出通过流程将它们链接起来而创建的。
示例: 如果您想查看两种hive_table类型之间的血统,就像:
T1(hive_table)--->P1(hive_process)--->T2(hive_table)
因此,基本上,实体需要通过流程类型进行链接。
在Atlas中,流程是实体,可以使用API POST: /v2/entity
创建,并在其中定义输入和输出,就像上面的hive_process
一样:
POST: /api/atlas/v2/entity
{
"entity": {
"typeName": "hive_process",
"attributes": {
"outputs": [
{
"guid": "2",
"typeName": "hive_table",
"uniqueAttributes": {
"qualifiedName": "t2@primary"
}
}
],
"qualifiedName": "p1@primary",
"inputs": [
{
"guid": "1",
"typeName": "hive_table",
"uniqueAttributes": {
"qualifiedName": "t1@primary"
}
}
],
"name": "P1-Process"
}
}
}
在创建流程之前要注意的重要一点是,所引用的实体(输入,输出)应预先存在,否则流程创建将失败。
如果您的需求不包含预先存在的类型,那么您当然可以继续并为Atlas Entity和Process定义自己的类型
有关Apache site上Atlas类型系统的更多信息