Основы управления с помощью универсального каталога Dataplex: начало работы

1. Введение

Разработчики и инженеры данных часто получают в наследство большие массивы данных, которые больше похожи на болота. Мы постоянно сталкиваемся с одними и теми же проблемами: «Каково фактическое определение столбца 'amt'?», «Кто будет нести ответственность, если этот набор данных выйдет из строя?» или «Разрешено ли нам использовать эту таблицу в системе персонализированных рекомендаций?»

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

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

Dataplex Universal Catalog меняет это, предоставляя активную, структурированную систему управления метаданными. Она позволяет напрямую прикреплять структурированные метаданные, основанные на схеме ( аспекты ), и принятые бизнес-определения ( глоссарии ) к вашим информационным ресурсам ( записям ).

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

В этом практическом занятии мы вручную выполним шаги по управлению данными в консоли Google Cloud. Мы подробно разберем взаимосвязь между записями, типами аспектов, аспектами и глоссариями, чтобы вы получили четкое представление о том, как сделать ваши данные доступными, понятными и заслуживающими доверия.

Предварительные требования

  • Проект Google Cloud с доступом владельца или редактора.
  • Знание консоли Google Cloud.
  • Базовые навыки работы с командными строками gcloud и bq в Cloud Shell.

Что вы узнаете

  • Ключевое различие между записью Dataplex, типом аспекта и аспектом.
  • Как создать деловой глоссарий для устранения неоднозначности терминологии.
  • Как разработать тип аспекта для обеспечения строгой схемы технических метаданных (выходя за рамки «тегов»).
  • Как связать термин из бизнес-глоссария с конкретным столбцом BigQuery.
  • Как прикрепить структурированный аспект к массиву данных и проверить входные данные.
  • Как выполнять точные поисковые запросы к этим новым структурированным метаданным.

Что вам понадобится

  • Аккаунт Google Cloud и проект Google Cloud
  • Веб-браузер, например Chrome.

Ключевые понятия

  • Запись: Каноническое, абстрактное представление ресурса данных в каталоге. Представьте это как «указатель» или «существительное». При создании таблицы BigQuery Dataplex автоматически создает для нее запись. Мы не управляем таблицей напрямую; мы управляем ее записью.
  • Деловой глоссарий: централизованный, версионированный словарь деловых терминов вашей организации. Это единый источник достоверной информации. Он предотвращает проблему, когда «отдел продаж определяет валовой объем продаж иначе, чем финансовый отдел».
  • Тип аспекта: Схема или шаблон для определенной категории метаданных. Тип аспекта определяет поля, типы данных (строка, перечисление, дата и время и т. д.) и ограничения (обязательные/необязательные). Это контракт, обеспечивающий согласованность метаданных.
  • Аспект: Особый фрагмент метаданных, прикрепленный к записи и соответствующий структуре, определенной типом аспекта. Он содержит фактические данные, отвечающие схеме типа аспекта.

2. Настройка и требования

Запустить Cloud Shell

Хотя Google Cloud можно управлять удаленно с ноутбука, в этом практическом занятии вы будете использовать Google Cloud Shell — среду командной строки, работающую в облаке.

В консоли Google Cloud нажмите на значок Cloud Shell на панели инструментов в правом верхнем углу:

Активируйте Cloud Shell

Подготовка и подключение к среде займут всего несколько минут. После завершения вы должны увидеть что-то подобное:

Скриншот терминала Google Cloud Shell, показывающий, что среда подключена.

Эта виртуальная машина содержит все необходимые инструменты разработки. Она предоставляет постоянный домашний каталог объемом 5 ГБ и работает в облаке Google, что значительно повышает производительность сети и аутентификацию. Вся работа в этом практическом задании может выполняться в браузере. Вам не нужно ничего устанавливать.

Включите необходимые API и настройте среду.

Выполните следующие команды, чтобы установить идентификатор проекта, определить регион и включить необходимые API сервисов.

export PROJECT_ID=$(gcloud config get-value project)
gcloud config set project $PROJECT_ID
export LOCATION="us-central1"

gcloud services enable dataplex.googleapis.com \
                       bigquery.googleapis.com \
                       datacatalog.googleapis.com

Создайте набор данных BigQuery и подготовьте примеры данных.

Нам нужен конкретный информационный ресурс для управления. Мы создадим набор данных BigQuery и загрузим небольшой CSV-файл, представляющий транзакции. Dataplex автоматически обнаружит эту таблицу и создаст для неё запись.

# Create the BigQuery Dataset in the us-central1 region
bq --location=$LOCATION mk --dataset \
    --description "Retail data for governance codelab" \
    $PROJECT_ID:retail_data

# Create a temporary CSV file with the sample data
echo "transaction_id,user_email,gmv,transaction_date
1001,test@example.com,150.50,2025-08-28
1002,user@example.com,75.00,2025-08-28" > /tmp/transactions.csv

# Load the data from the temporary CSV file into BigQuery
bq load \
    --source_format=CSV \
    --autodetect \
    retail_data.transactions \
    /tmp/transactions.csv

# (Optional) Clean up the temporary file
rm /tmp/transactions.csv

Проверьте правильность настройки, выполнив быстрый запрос:

bq query --nouse_legacy_sql "SELECT * FROM retail_data.transactions"

3. Создайте общий язык с помощью делового глоссария.

Эффективное управление начинается с однозначных определений. Если разработчик видит столбец с названием gmv , ему не нужно гадать, включает ли он налоги или декларации. Бизнес-глоссарий решает эту проблему, отделяя бизнес-определение от технической реализации.

  1. В консоли Google Cloud перейдите в каталог Dataplex Universal .
  2. В левом навигационном меню выберите «Глоссарии» (в разделе «Управление метаданными»).

96020207ba4bd128.png

  1. Нажмите «Создать бизнес-глоссарий» .
  2. Введите следующие данные:
    • Название : Retail Business Glossary
    • Местоположение : us-central1 (или местоположение, указанное вами при настройке).
  3. Нажмите «Создать» .

e3b146e5f3b57785.png

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

c98bdf049e946234.png

  1. Нажмите «Создать категорию» и назовите её Sales Metrics , затем нажмите «Создать» . Категории помогают группировать связанные термины.
  2. Выберите категорию Sales Metrics и нажмите «Добавить термин» , затем назовите его Gross Merchandise Value , после чего нажмите «Создать».
  3. Нажмите кнопку «+ Добавить» в разделе «Обзор», затем заполните следующие данные:
    • Обзор: The total value of merchandise sold over a given period of time before the deduction of any fees or expenses. This is a key indicator of e-commerce business growth.
  4. Нажмите « Сохранить ».

3a642fd2a41c040e.png

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

4. Определите структурированные технические метаданные с помощью типа аспекта.

Простые теги "ключ:значение" недостаточны для обеспечения необходимой точности в проектировании. Если вам нужно отслеживать "владельцев данных", вам не нужна одна таблица с тегом owner:bob , а другая contact:alice@example.com . Вам необходима схема, которая гарантирует обязательное указание владельца и его действительного формата электронной почты.

Для определения этого контракта мы будем использовать тип аспекта .

  1. В левой панели навигации Dataplex, в разделе «Каталог» , выберите «Типы аспектов и шаблоны тегов» .
  1. Выберите вкладку «Пользовательский» и нажмите «Создать тип аспекта» .

a920c555d40425a.png

  1. Введите следующие данные:
    • Отображаемое имя : Data Asset Governance
    • Местоположение : us-central1
  2. В разделе «Шаблон» мы определим схему для нашего Aspect . Нажмите «Добавить поле» , чтобы создать следующие три поля:
    • Поле 1:
      • Отображаемое имя : Data Steward
      • Тип : Text
      • Тип текста : Plain text
      • Мощность множества : Обязательно (поставьте галочку)
    • Поле 2 (снова нажмите «Добавить поле» ):
      • Отображаемое имя : Data Sensitivity
      • Тип : Enum
      • Значения : Добавьте Public , Internal и Confidential
      • Мощность множества : Необязательно
    • Поле 3 (снова нажмите «Добавить поле» ):
      • Отображаемое имя : Last Review Date
      • Тип : Date and time
      • Мощность множества : Необязательно
  3. Нажмите « Сохранить ».

20babd75c2b8dce6.png

Вы только что создали многократно используемый контракт метаданных. Пока его никто не использует, но структура уже существует.

5. Связывание управления с активами

Теперь мы объединим все это. У нас есть таблица BigQuery ( retail_data.transactions ), определение бизнес-процесса ( Gross Merchandise Value ) и схема управления данными (Data Asset Governance ).

Мы добавим данные в запись Dataplex для таблицы BigQuery.

Дополните схему бизнес-контекстом (на уровне столбцов).

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

  1. В левой панели навигации Dataplex нажмите «Поиск» .
  2. В правом верхнем углу, если вкладка «Универсальный каталог Dataplex» не активирована, нажмите на неё.

849a24e7b1a86a19.png

  1. Найдите файл retail_data.transactions . Щелкните по результату, чтобы открыть таблицу BigQuery.

54d3edd1520593a9.png

  1. В разделе сведений о записи нажмите вкладку «Схема» .
  2. Установите флажок в строке столбца gmv и нажмите « Добавить бизнес-термин» .
  3. Выберите термин Gross Merchandise Value .

64768eecf630c90b.png

Столбец gmv больше не является просто "плавающим значением"; теперь он связан с корпоративным определением Gross Merchandise Value .

Дополните запись структурированными техническими метаданными (на уровне таблицы).

Далее мы добавим к таблице аспект Data Asset Governance , чтобы определить права собственности и степень конфиденциальности.

  1. Оставайтесь на странице ввода retail_data.transactions .
  2. Нажмите вкладку «Добавить тег» или «Аспект» , затем выберите тип « Data Asset Governance из раскрывающегося списка.

4b770307159a28d8.png

  1. Теперь в форме отобразятся поля, определенные в вашей схеме типов аспектов. Заполните их следующим образом:
    • Ответственный за данные: finance-team@example.com
    • Конфиденциальность данных: выберите Internal .
    • Дата последнего обновления: выберите сегодняшнюю дату.
  2. Нажмите « Сохранить ».

f953c5569520d42a.png

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

6. Единый процесс обнаружения и проверки

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

Вернуться на главную страницу поиска в универсальном каталоге Dataplex.

Представьте, что вы — платформенный инженер, обеспечивающий соблюдение правил управления. Вам необходимо найти все ресурсы, помеченные как «Внутренние», которые регулируются вашим конкретным типом аспекта. Вам нужно использовать точные предикаты, основанные на вашей схеме.

Это можно проверить двумя способами: используя точный синтаксис запроса (что крайне важно для автоматизации) или с помощью интерактивных фильтров пользовательского интерфейса.

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

  1. В строке поиска (в режиме поиска по ключевым словам ) введите следующий структурированный запрос.
aspect:data-asset-governance.data-sensitivity=Internal
  1. Вы должны увидеть свою таблицу retail_data.transactions .

49120fe4ea224359.png

Метод 2: Проверка с помощью фильтров пользовательского интерфейса.

  1. Очистите строку поиска, чтобы сбросить отображение.
  2. Обратите внимание на панель «Фильтр по свойствам» в левой части экрана.
  3. Прокрутите вниз и разверните раздел « Управление активами данных» (это соответствует созданному вами типу аспекта).
  4. В разделе «Конфиденциальность данных» установите флажок Internal данные».
  5. Результаты поиска обновятся и отобразят таблицу retail_data.transactions .

4df224cb06720ec4.png

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

Это демонстрирует принципиальное различие между Dataplex и простой вики: ваши метаданные представляют собой структуру, допускающую запросы. Теперь вы можете создавать автоматизированные аудиты (например, «Найти все таблицы, где last_review_date > 1 года назад»), полагаясь на эту предсказуемую структуру.

7. Очистка окружающей среды

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

Удалите набор данных BigQuery.

Эта команда необратима и использует флаг -f (принудительное удаление) для удаления набора данных и всех его таблиц без подтверждения.

# Re-run these exports if your Cloud Shell session timed out
export PROJECT_ID=$(gcloud config get-value project)

# Manually type this command to confirm you are deleting the correct dataset
bq rm -r -f --dataset $PROJECT_ID:retail_data

Удаление артефактов Dataplex

  1. Перейдите в пользовательский интерфейс универсального каталога Dataplex > Управление метаданными > Каталог .
  2. В разделе «Типы аспектов и шаблоны тегов» выберите тип аспекта data_asset_governance и удалите его.
  3. Перейдите в раздел «Управление метаданными» > «Глоссарии» , выберите Retail Business Glossary и удалите его. Убедитесь, что сначала удаляете термин « Gross Merchandise Value , а затем удаляете глоссарий.

8. Поздравляем!

Вы вышли за рамки простой разметки данных и создали в Dataplex фундаментальную, структурированную модель управления.

Вы узнали, что:

  • Глоссарии помогают разрешить неопределенность в деловой среде.
  • Типы аспектов предоставляют контракт схемы для технических метаданных.
  • Аспекты применяют эту схему к фактическим данным.
  • Поисковая система Dataplex использует эти структурированные метаданные для точного поиска.

Что дальше?

  • Управление как код: используйте провайдер Google Cloud Terraform для определения типов аспектов и глоссариев в системе контроля версий, обеспечивая согласованность схем в средах разработки, тестирования и производства.
  • Автоматическая маркировка: напишите облачную функцию или шаг Cloud Build, запускаемый при создании нового набора данных, который автоматически прикрепляет ваш аспект «Управление активами данных» со значениями по умолчанию (например, sensitivity=Internal, steward=TBD ), помечая его для проверки.