0.4.0 (2025-10-03)
Функции
- Представляем новый http2kafka компонент. (#281)
Это позволяет использовать DataRentgen с OpenLineage HttpTransport.Аутентификация осуществляется с помощью персональных токенов.
- Добавлены эндпоинты REST API для управления персональными токенами. (#276)
Список эндпоинтов:
GET /personal-tokens- получение персонального токена для текущего пользователя.POST /personal-tokens- создание нового персонального токена для текущего пользователя.PATCH /personal-tokens/:id- обновление персонального токена (отозвать токен и создать новый).-
DELETE /personal-tokens/:id- отзыв персонального токена. -
Добавлены новые сущности
TagиTagValue. (#268)Теги можно использовать в качестве дополнительных свойств для других сущностей. Эта функция всё ещё находится в разработке.
-
Добавлен эндпоинт
GET /v1/tags. (#289)Имена и значения тегов могут быть доступны для постраничного просмотра, поиска по идентификаторам или получения данных по ним.
Пример ответа
[ { "id": 1, "name": "env", "values": [ { "id": 1, "value": "dev" }, { "id": 2, "value": "prod" } ] } ] -
Обновлен
GET /v1/datasetsвключенtags: [...]в ответ. (#289)Пример датасета ответа
До:
{ "id": "8400", "location": {...}, "name": "dataset_name", "schema": {}, }После:
{ "id": "25896", "location": {...}, "name": "dataset_name", "schema": {...}, "tags": [ # <--- { "id": "1", "name": "environment", "values": [ { "id": "2", "value": "production" } ] }, { "id": "2", "name": "team", "values": [ { "id": "4", "value": "my_awesome_team" } ] } ] } -
Добавлены новые фильтры к эндпоинту
GET /v1/datasets. (#294, #289)
Параметры запросы:
- location_id:
int -
tag_value_id:
list[int]- Если передано несколько значений, набор данных должен содержать все из них. -
Добавлены новые фильтры к эндпоинту
GET /v1/jobs. (#319)
Параметры запроса:
Параметры запроса
- job_type:
list[str] - status:
list[RunStatus] - started_since:
datetime | None - started_until:
datetime | None - ended_since:
datetime | None - ended_until:
datetime | None - job_location_id:
int | None -
started_by_user:
list[str] | None -
Добавлен эндпоинт
GET /v1/jobs/types. (#319) -
Добавлены пользовательские аспекты
dataRentgen_runиdataRentgen_operation. (#265)
Эти аспекты позволяют
- Передавать пользовательские поля
external_id,persistent_log_urlи другие поля объекта Run. - Передавать пользовательские поля операций
name,description,group,position. -
Отметьте событие как содержащее только данные об операции или данные как о выполнении, так и об операции.
-
Настройка
output.typeв зависимости от выполняемого SQL-запроса, e.g.INSERT,UPDATE,DELETE, и т.д. (#310)
Улучшения
-
Улучшена производительность для потребителей за счет снижения нагрузки на базу данных при операциях чтения.. (#314)
-
Добавлено обходное решение, если OpenLineage сгенерировал событие приложения Spark с
job.name=unknown. (#263)
Для этого необходимо установить OpenLineage с уже внесённым исправлением.: https://github.com/OpenLineage/OpenLineage/pull/3848.
-
Символические ссылки на наборы данных, не имеющие входных/выходных данных, больше не удаляются из графа происхождения. (#269)
-
Для повышения точности сопоставления адресов и местоположений преобразовали их в нижний регистр.. (#313)
Элементы oracle://host:1521 и ORACLE://HOST:1521 теперь представляют собой один и тот же элемент oracle://host:1521.
- Обеспечена нечувствительность к регистру при сопоставлении наборов данных, заданий, тегов и имен пользователей, используя уникальные индексы в выражении
lower(name). (#313)
Элементы database.schema.table и DATABASE.SCHEMA.TABLE теперь представляют собой один и тот же элемент.
Поскольку каноническое имя набора данных зависит от соглашения об именовании баз данных (UPPERCASE для Oracle, lowercase для Postgres),мы не можем преобразовать их в один конкретный регистр (верхний или нижний). Вместо этого мы используем первое полученное значение в качестве канонического.
Исправление ошибок
- Для lineage с параметром
granularity=DATASETвозвращается реальный граф lineage. (#264)
В версии v0.4.x отслеживание происхождения данных осуществлялось по run_id, но это могло привести к некорректным результатам. В версии v0.4.x отслеживание происхождения данных теперь осуществляется по operation_id.
- Исключены самореферентные родственные связи в случае
granularity=DATASET. (#261)
Если в каком-либо запуске используется одна и та же таблица как в качестве входных, так и выходных данных (например, при слиянии дубликатов или выполнении некоторых проверок перед записью),
DataRentgen исключает связи dataset1 -> dataset1 из происхождения данных.
Это не влияет на цепочки типа dataset1 -> job1 -> dataset1 или dataset1 -> dataset2 -> dataset1.