Глоссарий управления метаданными с использованием Atlas

искусственный интеллект открытый источник база данных Apache
Глоссарий управления метаданными с использованием Atlas

Предыстория: автор и друзья команды в настоящее время работают надУправление данными/управление метаданнымиИсследование направления, в следующем цикле статей, поделится опытом и урожаем с читателями.

0. Когда мы говорим об управлении данными/управлении метаданными, о чем именно мы говорим?

Когда дело доходит до управления данными, метаданные, естественно, неразделимы. Метаданные, определяемые одним предложением: данные, описывающие данные. Метаданные связывают источники данных, хранилища данных и приложения данных и записывают весь процесс создания данных от потребления до потребления. Таким образом, ядром управления данными является元数据管理.

Реальная ценность данных заключается в принятии решений и операциях, основанных на данных. Выявление тенденций с помощью подхода, основанного на данных, помогает нам выявлять проблемы, которые затем могут стимулировать инновации или генерировать новые решения. С взрывным ростом корпоративных данных объем данных становится все труднее измерить.Трудно сказать, какие данные у нас есть, откуда они берутся, куда они уходят, что изменилось и как их следует использовать. . Таким образом, управление метаданными (управление данными) стало неотъемлемой частью озер данных на уровне предприятия.

К сожалению, на рынке уже давно нет готовых решений для управления данными. Вплоть до 2015 года Hortonworks наконец не смогла усидеть на месте и попросила группу небольших компаний-партнеров предложить: Давайте запустим всю программу управления данными. Затем появился Atlas с классификацией данных, централизованным механизмом политик, родословной данных, безопасностью и возможностями управления жизненным циклом. (PS: Еще один проект с открытым исходным кодом метаданных с большим количеством приложений — это новый проект Linkedin с открытым исходным кодом в 2016 году:WhereHows) Последняя версия Atlas на данный момент выпущена 18 сентября 2018 г.1.0.0Версия.

1. Введение в Атлас

Atlas — это масштабируемый и расширяемый набор основных базовых сервисов управления, который позволяет предприятиям эффективно и действенно выполнять требования соответствия в Hadoop и обеспечивает интеграцию со всей экосистемой корпоративных данных.

Apache Atlas предоставляет организациям открытые возможности управления и управления метаданными для создания своих каталогов активов данных, категоризации и управления этими активами, а также предоставляет специалистам по данным, аналитикам данных и командам по управлению данными возможности совместной работы над этими активами данных.

Atlas High Level Architecture

После разговора о предыстории Атласа, давайте по очереди поговорим о нескольких концептах Атласа, в первую очередь о сегодняшнем главном герое:Glossary.

1.1 Введение в глоссарий

Глоссарий Atlas содержит соответствующие «слова», которые можно связать и классифицировать друг с другом, чтобы бизнес-пользователи хорошо их понимали даже в разных контекстах. Кроме того, эти термины также могут быть сопоставлены с активами данных, такими как: база данных, таблица, столбец и т. д.

Глоссарий абстрагирует технические термины, связанные с данными, что позволяет пользователям находить и использовать данные более привычным для них способом.

1.2 Глоссарий

  • Возможность определения богатого глоссария терминов с использованием естественного языка (технические и/или деловые термины).
  • Умение семантически связывать термины друг с другом.
  • Возможность отображать активы в глоссарии.
  • Возможность разделить эти термины на категории. Это добавляет больше контекста к термину.
  • Позволяет упорядочивать категории в иерархии, показывая более широкий и тонкий охват.
  • Управляйте глоссариями независимо от метаданных.

1.3 Срок

Терминология играет очень важную роль в бизнесе. Чтобы полезные и значимые термины были сгруппированы по их использованию и контексту. Термины в Apache Atlas должны иметь уникальные квалифицированные имена, могут быть термины с одинаковыми именами, но они не могут принадлежать одному и тому же глоссарию. Термины с одинаковыми именами могут существовать только в разных глоссариях.

Имена терминов могут содержать пробелы, знаки подчеркивания и тире (как естественные способы заключения слов в кавычки), но не «.» или «@», потому что квалифицированное имя имеет форму:<术语>@<术语限定名>. Квалифицированные имена упрощают использование конкретных терминов.

Термины могут принадлежать только одному глоссарию, и их жизненный цикл также одинаков, если вы удалите глоссарий, термин также будет удален. Термины могут принадлежать к нулю или более категориям, что позволяет ограничивать их меньшим или большим контекстом.

Термин может быть назначен/связан с одним или несколькими объектами в Apache Atlas. Можно использовать классификацию (classifications, роль, похожая на метку), чтобы классифицировать термин и применить ту же классификацию к объекту, который присваивает термин.

1.4 Категория

Категории — это способ организации терминов, позволяющий обогатить контекст терминов.

Категории могут содержать или не содержать иерархии, то есть иерархии подкатегорий. Квалифицированное имя категории выводится с использованием ее иерархического положения в глоссарии, например:<类别名称>.<父类别限定名>. Это полное имя обновляется при любом изменении уровня, например при добавлении родительской категории, удалении родительской категории или изменении родительской категории.

2. Atlas Web UI

Пользовательский интерфейс Apache Atlas предоставляет удобный интерфейс для использования функций, связанных с глоссарием, в том числе:

  • Создание глоссариев, терминов и категорий
  • Создавайте различные отношения между терминами: synonymns (синонимы), antonymns (антонимы), seeAlso (ссылки)
  • Настройте иерархию категорий
  • Назначать сущности сущностям
  • Поиск объектов с использованием связанных терминов

Пользовательский интерфейс, связанный с глоссарием, можно найти вGLOSSARYнаходится под вкладкой.

2.1 Glossary Tab

Пользовательский интерфейс Apache Atlas предоставляет два способа использования глоссария:术语(Terms)视图и类别(Category)视图.

(1) Просмотр условий (Условия)

Представление терминов позволяет пользователям делать следующее:

  • Создание, обновление и удаление терминов
  • Добавляйте, удаляйте и обновляйте таксономии, связанные с терминами
  • Добавлять, удалять и обновлять таксономию терминов
  • Создание различных отношений между терминами
  • Просмотр объектов, связанных с термином
(2) Просмотр категории (категория)

Представление по категориям позволяет пользователям делать следующее:

  • Создание, обновление и удаление категорий и подкатегорий
  • Свяжите термины с категориями

Пользователи могут переключаться между представлением терминов и представлением категорий с помощью переключателя на вкладке Глоссарий.

术语视图

分类视图

2.2 Просмотр условий (Условия)

  • Создать новый термин
    При нажатии на многоточие (...) рядом с названием глоссария отображается всплывающее меню, которое позволяет пользователю создавать термины в глоссарии или удалять глоссарий, как показано ниже.

    创建术语

  • удалить термин
    Если щелкнуть многоточие (...) рядом с названием термина, откроется всплывающее меню, позволяющее пользователю удалить термин, как показано ниже.

    删除术语

2.2.1 Детали терминологии

Выберите термин в пользовательском интерфейсе глоссария, чтобы просмотреть различные сведения о соответствующем термине. Каждая вкладка на странице сведений содержит различные сведения о термине.

  • Entities(实体)Вкладки: отображает объекты, назначенные выбранному термину.
  • Classifications(分类)Вкладка: отображает таксономию, связанную с выбранным термином.
  • Related terms (相关术语)Вкладки: отображает термины, связанные с выбранным термином.
    术语详情
2.2.2 Добавление классификации к терминам

Нажмите рядом с меткой категории+Категории могут быть добавлены к терминам.

添加分类1

添加分类2

添加分类3

2.2.3 Связь термина с другими терминами

При просмотре сведений о термине нажмитеRelated Terms(相关术语)Таб. нажмите+Свяжите термин с текущим термином.

关联

2.2.4 Классификация терминов

Нажмите рядом с меткой категории+Термины можно классифицировать. Появится модальное диалоговое окно для выбора категории.

分类

2.3 Просмотр категории (Категория)

Когда тумблер находится вCategory, на левой панели перечислены все глоссарии вместе с иерархией категорий.

image

2.3.1 Меню категорий (Category)

нажмитеCategoryмноготочие рядом с...Появится контекстное меню категории.

  • Создать новую категорию

    创建类别

  • Создание подкатегорий или удаление категорий

    创建/删除子类别

2.3.2 Подробная информация о категории

выберитеCategory, подробности отобразятся в правом окне.

分类详情

2.3.3 Классификация терминологии

Нажмите на страницу сведенийTermsрядом с этикеткой+Связывает термины в выбранной категории.

术语分类1

术语分类2

术语分类3

3. Процесс присвоения терминологии

можно найти на странице результатов поиска иGlossary-TermsСтраница сведений об объектеentity(实体)Назначьте условия.

3.1 Назначение условий

На странице результатов поиска нажмитеtermsпод колонной+

分配术语1

нажмитеtermsрядом с этикеткой+

分配术语2

Обе операции отобразят результаты ниже. Следуйте инструкциям на экране, чтобы завершить назначение термина.

完成术语分配

3.2 Распространенная классификация

Если у термина есть классификация, объекты под этим термином наследуют ту же классификацию.

image

image

3.3. Поиск по терминам

API базового поиска Apache Atlas и пользовательский интерфейс были обновлены для поддержки терминов в качестве критериев поиска. Позволяет пользователям находить объекты, связанные с данным термином.

搜索

4. REST API

Atlas поддерживает следующие операции, доступные наздесьНайдите детали интерфейса REST.

Glossary REST API
Glossary REST API

5.1 Структура JSON

  • Glossary
{
    "guid": "2f341934-f18c-48b3-aa12-eaa0a2bfce85",
    "qualifiedName": "SampleBank",
    "displayName": "Banking",
    "shortDescription": "Glossary of bank",
    "longDescription": "Glossary of bank - long description",
    "language": "English",
    "usage": "N/A",
    "terms": [
    {
        "termGuid": "502d34f1-b85f-4ad9-9d9f-fe7020ff0acb",
        "relationGuid": "6bb803e4-3af6-4924-aad6-6ad9f95ecd14",
        "displayText": "A savings account"
    }, {
        "termGuid": "e441a540-ee55-4fc8-8eaf-4b9943d8929c",
        "relationGuid": "dbc46795-76ff-4f68-9043-be0eff0bc0f3",
        "displayText": "15-30 yr mortgage"
    }, {
        "termGuid": "998e3692-51a8-47fe-b3a0-0d9f794437eb",
        "relationGuid": "0dcd31b9-a81c-4185-ad4b-9209a97c305b",
        "displayText": "A checking account"
    }, {
        "termGuid": "c4e2b956-2589-4648-8596-240d3bea5e44",
        "relationGuid": "e71c4a5d-694b-47a5-a41e-126ade857279",
        "displayText": "ARM loans"
    }],
    "categories": [{
        "categoryGuid": "dd94859e-7453-4bc9-b634-a17fc14590f8",
        "parentCategoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3",
        "relationGuid": "a0b7da02-1ccd-4415-bc54-3d0cdb8857e7",
        "displayText": "Accounts"
    }, {
        "categoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3",
        "relationGuid": "0e84a358-a4aa-4bd3-b806-497a6962ae1d",
        "displayText": "Customer"
    }, {
        "categoryGuid": "7f041401-de8c-443f-a3b7-7bf5a910ff6f",
        "parentCategoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3",
        "relationGuid": "7757b031-4e25-43a8-bf77-946f7f06c67a",
        "displayText": "Loans"
    }]
}
  • Term
{
    "guid": "e441a540-ee55-4fc8-8eaf-4b9943d8929c",
    "qualifiedName": "fixed_mtg@SampleBank",
    "displayName": "15-30 yr mortgage",
    "shortDescription": "Short description",
    "longDescription": "Long description",
    "examples": ["N/A"],
    "abbreviation": "FMTG",
    "anchor": {
        "glossaryGuid": "2f341934-f18c-48b3-aa12-eaa0a2bfce85",
        "relationGuid": "dbc46795-76ff-4f68-9043-be0eff0bc0f3"
    },
    "categories": [{
        "categoryGuid": "7f041401-de8c-443f-a3b7-7bf5a910ff6f",
        "relationGuid": "b4cddd33-7b0c-41e2-9324-afe549ec6ada",
        "displayText": "Loans"
    }],
    "seeAlso"           : [],
    "synonyms"          : [],
    "antonyms"          : [],
    "replacedBy"        : [],
    "replacementTerms"  : [],
    "translationTerms"  : [],
    "translatedTerms"   : [],
    "isA"               : [],
    "classifies"        : [],
    "preferredTerms"    : [],
    "preferredToTerms": [ {
                           "termGuid"   : "c4e2b956-2589-4648-8596-240d3bea5e44",
                           "displayText": "ARM Loans"
                         }]
}
  • Category
{
    "guid": "7f041401-de8c-443f-a3b7-7bf5a910ff6f",
    "qualifiedName": "Loans.Customer@HortoniaBank",
    "displayName": "Loans",
    "shortDescription": "Loan categorization",
    "anchor": {
        "glossaryGuid": "2f341934-f18c-48b3-aa12-eaa0a2bfce85",
        "relationGuid": "7757b031-4e25-43a8-bf77-946f7f06c67a"
    },
    "parentCategory": {
        "categoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3",
        "relationGuid": "8a0a8e11-0bb5-483b-b7d6-cfe0b1d55ef6"
    },
    "childrenCategories" : [],
    "terms": [{
        "termGuid": "e441a540-ee55-4fc8-8eaf-4b9943d8929c",
        "relationGuid": "b4cddd33-7b0c-41e2-9324-afe549ec6ada",
        "displayText": "15-30 yr mortgage"
    }, {
        "termGuid": "c4e2b956-2589-4648-8596-240d3bea5e44",
        "relationGuid": "8db1e784-4f04-4eda-9a58-6c9535a95451",
        "displayText": "ARM loans"
    }]
}

5.2 CURD

5.2.1 Операция создания (CREATE)
  1. Создать глоссарий
  2. создать термин
  3. Создание терминов таксономии
  4. Создание терминов с отношениями
  5. Создать категорию
  6. Создавайте категории с иерархиями
  7. Создание категорий и классификация терминов
  8. Назначение терминов сущностям

Уведомление:

  • Во время операции создания глоссариям, терминам и категориям автоматически назначаются идентификатор GUID и квалифицированное имя.
  • Чтобы создать категорию с дочерними элементами, дочерние элементы должны быть созданы заранее.
  • Чтобы создать термин, относящийся к категории, эта категория должна быть создана заранее.
  • Чтобы создать реляционные термины, связанные термины должны быть созданы заранее.
5.2.2 Операция чтения (READ)
  1. Получить глоссарий по GUID — предоставляет все термины и категории (названия), принадлежащие глоссарию.
  2. Получить все глоссарии — содержит все глоссарии с их терминами и категориями (названиями).
  3. Получить термин по GUID — предоставляет сведения о термине, категории, к которой он принадлежит (если есть), и любых связанных терминах.
  4. Получить категорию по GUID — предоставляет сведения о категории, иерархии категорий (если есть) и терминах, принадлежащих категории.
  5. Получить все термины данного глоссария — предоставляет все термины, принадлежащие данному глоссарию (с подробностями, указанными в № 3).
  6. Получить все категории данного глоссария — предоставляет все категории (с подробностями, указанными в № 4), которые принадлежат данному глоссарию.
  7. Получить все термины, связанные с данным термином. Предоставляет все термины, связанные/связанные с данным термином.
  8. Получить все категории, связанные с данной категорией (родительская и дочерняя)
  9. Получить все термины данной категории
5.2.3 Операция обновления (ОБНОВЛЕНИЕ)
  1. Глоссарий частичного обновления
  2. локальный срок обновления
  3. Категория частичного обновления
  4. Обновите данный словарный запас
  5. обновить данный срок
  6. обновить данную категорию

Уведомление:

  • Частичные обновления обрабатывают только те, которые определены в файле модели словаря.первоначальная собственность.
  • После назначения GUID и квалифицированное имя не могут быть изменены. Единственный способ - удалить и воссоздать необходимые объекты.
  • Не может быть удалено ни в одном обновленииЯкорь
  • API обновления ожидает, что JSON будет изменен на месте после вызова GET. Любые отсутствующие свойства/отношения будут удалены.
  • Любое обновление иерархии категорий приводит к каскадным обновлениям нижестоящей иерархии, например, изменения привязки влияют на всех дочерних элементов, изменения родительских элементов влияют на квалифицированное имя себя и дочерних элементов.
5.2.4 Операция удаления (DELETE)
  1. Удалить глоссарий — удаляет все категории и термины, привязанные к данному глоссарию. Это удаление блокируется, если объекту уже были назначены какие-либо термины.
  2. Удалить термин — удаляет термин, только если он не связан/не назначен ни одному объекту.
  3. Удалить категорию — удаляется только данная категория, все дочерние категории становятся категориями верхнего уровня.
  4. Удалить назначение срока из сущности