|
1 | | -# 0.3.0 (2025-07-04) |
| 1 | +# 0.3.0 (2025-07-04) { #0.3.0 } |
2 | 2 |
|
3 | 3 | ## Новые возможности |
4 | 4 |
|
5 | 5 | - Улучшена поддержка `openlineage-airflow` ([#210](https://github.com/MobileTeleSystems/data-rentgen/issues/210)). |
6 | 6 |
|
7 | | - Раньше мы отслеживали только события начала/окончания DAG и Task, но не отслеживали связи между данными. |
8 | | - Теперь мы сохраняем связи между данными, создаваемые операторами Airflow, такими как `SQLExecuteQueryOperator`. |
9 | | - |
| 7 | + Раньше мы отслеживали только события начала/окончания DAG и Task, но не отслеживали lineage |
| 8 | + Теперь мы сохраняем lineage, созданный операторами Airflow, такими как `SQLExecuteQueryOperator`. |
10 | 9 | - Добавлена поддержка `openlineage-flink` ([#214](https://github.com/MobileTeleSystems/data-rentgen/issues/214)). |
11 | 10 | - Добавлена поддержка `openlineage-hive` ([#245](https://github.com/MobileTeleSystems/data-rentgen/issues/245)). |
12 | 11 | - Добавлена поддержка `openlineage-dbt` ([#223](https://github.com/MobileTeleSystems/data-rentgen/issues/223)). |
13 | | -- Добавлена детализация `DATASET` для `GET /api/datasets/lineage` ([#235](https://github.com/MobileTeleSystems/data-rentgen/issues/235)). |
| 12 | +- Добавлена грануляция `DATASET` для `GET /api/datasets/lineage` ([#235](https://github.com/MobileTeleSystems/data-rentgen/issues/235)). |
14 | 13 | - Сохранение SQL-запросов, полученных от интеграций OpenLineage. ([#213](https://github.com/MobileTeleSystems/data-rentgen/issues/213), [#218](https://github.com/MobileTeleSystems/data-rentgen/issues/218)). |
15 | 14 |
|
16 | 15 | ## Критические изменения |
17 | 16 |
|
18 | | -- Изменен тип `Output.type` в ответе `GET /api/*/lineage` с `Enum` на `List[Enum]` ([#222](https://github.com/MobileTeleSystems/data-rentgen/issues/222)). |
| 17 | +- Изменение `Output.type` в ответе `GET /api/*/lineage` с `Enum` на `List[Enum]` ([#222](https://github.com/MobileTeleSystems/data-rentgen/issues/222)). |
19 | 18 |
|
20 | | -### Примеры ENUM в ответе о связях между данными |
| 19 | +### Примеры ENUM в ответе lineage |
21 | 20 |
|
22 | 21 | === До |
23 | 22 |
|
|
53 | 52 | } |
54 | 53 | ``` |
55 | 54 |
|
56 | | - Мы используем схему выходных данных, если она доступна, в противном случае используем схему входных данных. |
| 55 | + Мы используем схему выходных данных, если она есть, иначе используем схему входных данных. |
57 | 56 |
|
58 | | -- `Input.schema` и `Output.schema` перенесены в `Dataset.schema` в ответе `GET /api/*/lineage` ([#249](https://github.com/MobileTeleSystems/data-rentgen/issues/249)). |
| 57 | +- Перемещение `Input.schema` и `Output.schema` в `Dataset.schema` в ответе `GET /api/*/lineage` ([#249](https://github.com/MobileTeleSystems/data-rentgen/issues/249)). |
59 | 58 |
|
60 | | -### Примеры схемы в ответе о связях между данными |
| 59 | +### Примеры схемы в ответе lineage |
61 | 60 |
|
62 | 61 | === До |
63 | 62 |
|
|
124 | 123 | ## Улучшения |
125 | 124 |
|
126 | 125 | - Добавлен скрипт `cleanup_partitions.py` для автоматической очистки старых партиций таблиц ([#254](https://github.com/MobileTeleSystems/data-rentgen/issues/254)). |
127 | | -- Добавлен скрипт `data_rentgen.db.seed`, который создает примеры данных в базе данных ([#257](https://github.com/MobileTeleSystems/data-rentgen/issues/257)). |
128 | | -- Ускорено получение объектов `Run` и `Operation` из базы данных по id ([#247](https://github.com/MobileTeleSystems/data-rentgen/issues/247)). |
| 126 | +- Добавлен скрипт `data_rentgen.db.seed`, который создаёт примеры данных в базе данных ([#257](https://github.com/MobileTeleSystems/data-rentgen/issues/257)). |
| 127 | +- Ускорено извлечение `Run` и `Operation` из базы данных по ID ([#247](https://github.com/MobileTeleSystems/data-rentgen/issues/247)). |
129 | 128 | - Ускорено получение событий OpenLineage из Kafka ([#236](https://github.com/MobileTeleSystems/data-rentgen/issues/236)). |
130 | 129 | - Сделана более надежной обработка сообщений в консьюмере ([#204](https://github.com/MobileTeleSystems/data-rentgen/issues/204)). |
131 | 130 |
|
132 | | - Ранее некорректно сформированные события OpenLineage (JSON) приводили к пропуску всего пакета сообщений, прочитанных из Kafka. |
133 | | - Теперь сообщения анализируются по отдельности, а некорректные отправляются обратно в топик Kafka `input.runs__malformed`. |
134 | | -- Улучшено сохранение данных о связях для длительных операций ([#253](https://github.com/MobileTeleSystems/data-rentgen/issues/253)). |
| 131 | + Ранее некорректно сформированные события OpenLineage (JSON) приводили к пропуску всего пакета сообщений, считанного из Kafka. |
| 132 | + Теперь сообщения обрабатываются по отдельности, а некорректные отправляются обратно в Kafka-топик `input.runs__malformed`. |
| 133 | +- Улучшено хранение данных о происхождении для долгих операций ([#253](https://github.com/MobileTeleSystems/data-rentgen/issues/253)). |
135 | 134 |
|
136 | 135 | ### Описание |
137 | 136 |
|
138 | | - Ранее, если операция выполнялась в течение длительного времени (более дня, потоковые задачи Flink могут легко работать месяцами или годами), и граф связей строился за последний день, то задача/запуск/операция Flink отсутствовали в графе. |
| 137 | + Ранее, если операция выполнялась долго (более дня, стриминговые задачи Flink могут легко работать месяцами или годами), |
| 138 | + и граф lineage строился за последний день, задача/запуск/операция Flink отсутствовали в графе. |
139 | 139 |
|
140 | | - Это происходило потому, что мы создавали связи ввода/вывода/столбцов в начале операции, и события `RUNNING` той же операции (контрольные точки) просто обновляли статистику в той же строке. |
| 140 | + Это происходило потому, что мы создавали записи о входных/выходных данных и столбцах при старте операции, |
| 141 | + а события `RUNNING` той же операции (контрольные точки) просто обновляли статистику в той же строке. |
141 | 142 |
|
142 | | - Теперь мы создаем новую строку для связей ввода/вывода/столбцов также и для событий контрольных точек. Но только одну строку для каждого часа с момента запуска операции, так как увеличение количества строк замедляет построение графа связей. |
| 143 | + Теперь мы создаем новые записи о входных/выходных данных и столбцах также и для событий контрольных точек. |
| 144 | + Но только одну запись за каждый час с момента запуска операции, так как увеличение количества строк замедляет построение графа происхождения. |
143 | 145 |
|
144 | 146 | Для короткоживущих операций (большинство пакетных операций занимает менее часа) поведение остается неизменным. |
145 | 147 |
|
146 | 148 | ## Исправления ошибок |
147 | 149 |
|
148 | | -- Исправлен шаблон URL для DAG и Task в Airflow 3.x ([#227](https://github.com/MobileTeleSystems/data-rentgen/issues/227)). |
| 150 | +- Исправлен шаблон URL для Airflow 3.x DAG и Task ([#227](https://github.com/MobileTeleSystems/data-rentgen/issues/227)). |
0 commit comments