✍️ Дорогой дневник, что я успела натворить с DataHub
1️⃣ oops!... i did incident
Первой моей задачей с DataHub (местами сокращу как dh) стала благородная миссия: если падает таска в airflow - доставлять весточку в dh об этом и создавать инцидент. Зачем? Чтобы у объектов, связанных с DAG-ом, отображалось наличие проблемы. Ну и, конечно, нужно было сделать так, чтобы такой открытый инцидент в dh после успешного перезапуска таски закрывался.
Основной сложностью в этом всем стало "взаимодействие" с GraphQL dh. Нужно было разобраться как с запросами на получение данных, так и с мутациями для создания и разрешения инцидентов. Я до этого момента не имела особо понятия, что за GraphQL такой. В общем, пришлось с этим пострадать, не всегда было явно понятно, как получить то, что мне нужно вообще👁👄👁. Но штука интересная!
2️⃣ разногласия dh и airflow
Сначала всё было красева:
упал DAG → инцидент открылся → перезапустили→ инцидент закрылся → 🎉
Но иногда проблему исправляли локально или вручную и проставляли в DAG Run успешный статус просто руками. В таких случаях инцидент в dh оставался открытым, хотя уже потерял актуальность.
В итоге пришлось устроить dh и airflow дополнительные переговоры🤝:
берём открытые инциденты → идём в Airflow API → проверяем реальное состояние DAG run → и если всё ок — закрываем инцидент.
3️⃣ "мы только посмотреть"
Следующая моя задача была связана с тестированием column-level lineage в dh. До этого у нас использовался только стандартный lineage между объектами, но аналитики захотели оценить возможность отображения зависимостей на уровне отдельных колонок. После первого опыта работы с dh разобраться было уже проще. Плюс, от меня не требовалось какого-то системного решения, для начала нужен был пример реализации на выборочных объектах для дальнейшего принятия решения (надо оно нам или не очень-то было и надо).
4️⃣ Ну и сейчас еще ковыряюсь с "интеграцией" Kafka и dh
Хотим автоматически строить lineage в dh между Kafka-топиками и Kafka Engine таблицами в ClickHouse.
На самом деле, основная часть уже готова (урееей💅), остались всякие мелочи.
Post #96
320
- 🔥 10
- ❤ 2