В Атласе родословная создается, когда они связаны через процессы с использованием входов и выходов.
Пример: если вы хотите увидеть родословную между двумя типами hive_table, это будет примерно так:
T1(hive_table)--->P1(hive_process)--->T2(hive_table)
Итак, в основном сущности должны быть связаны через тип процесса.
В Атласе процессы являются сущностями и могут быть созданы с использованием 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"
}
}
}
Перед созданием процесса важно отметить, что указанные сущности (входы, выходы) должны существовать заранее, иначе создание процесса завершится ошибкой.
Если ваше требование не состоит из ранее существовавших типов, вы, конечно, можете go заранее и определить свои собственные типы для объекта и процесса Атласа
Подробнее о системе типов Атласа на Apache сайте