Как сохранить информацию о происхождении в Apache Атласе при использовании Apache Cassandra и Elasticsearch - PullRequest
0 голосов
/ 16 июня 2020

Я планирую развернуть Apache Atlas, используя Apache Cassandra в качестве серверной части хранилища и Elasticsearch в качестве серверной части индекса. Мне интересно, как я могу сохранить с этим информацию о происхождении? Он предоставляет API для получения информации о происхождении, но, похоже, у него нет возможности ее сохранить.

1 Ответ

1 голос
/ 05 июля 2020

В Атласе родословная создается, когда они связаны через процессы с использованием входов и выходов.

Пример: если вы хотите увидеть родословную между двумя типами 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 сайте

...