Снаряд два раза в одну воронку не падает Интересно, что у архитектора данных вышел цикл постов о том, почему стоит ехать в облако. А тем временем в нашей вселенной идет все ускоряющийся цикл ухода от облачной инфраструктуры во внутреннюю платформу данных чисто на реализовавшихся рисках (деньги смысла считать даже нет, стоимость рисков с лихвой покрывает всё). Про что речь? В своем докладе что на смартдате, что в остальных местах я рассказывал про блокировку аккаунта в Google BigQuery в прошлом году на время уточнения данных, и заняло это 3 недели. Что случилось 2 недели назад? Да, аккаунт опять заблокировали, опять уточнение, ну а работа - потерпите, чай не сахарные. И следом уже вчера заблокировали целый пул ip адресов европейских цодов из стран вокруг РФ - запрет на использование api своих сервисов (BQ, GCP). То есть ты находишься не в РФ, платишь не с РФ, но никого не волнует. Итого последние 3 недели мы перевозим проекты в StarRocks днем и ночью. Но почему-то получилось, что вместо расчета их там все заехало в Spark. Причина достаточно простая - наши эксперименты с бигквери проходили на проектах малого размера, почти все модели в dbt считались на table материализации. Spark такие штуки раскладывает примерно за 10-15 секунд на витринку, нагружать же mpp бд такого рода нагрузкой кажется напрасной затеей. Ведь в чем всегда была притензия к данным в хадупе - медленное чтение, а вот витринки собираются порой быстрее вертики (да что там, кликхауз у меня тоже получалось когда-то в телекоме обогнать). В итоге пользователи, биай и сервисы читают и делают эдхоки через StarRocks, а счет идет в кластере хадупа - все по заветам современных историй лейкхаузов, правда без перекладывания данных в слой доступа. Ну а какие выводы можно сделать за эти 2 недели? А вот такие: * перевозить витрины можно очень быстро * сверять результаты между системами - чудовищная по трудоемкости операция * витрины начинают разбегаться между системами буквально на следующей недели после переноса - надо или следить, или очень быстро ехать Даже если функции выглядят в двух системах похоже (именуются одинаково), то совсем не факт что их аргументы или возвращаемые результаты будут идентичными. И поверх накладывается проблема вскрывания ошибок во время написания витрин в исходной системе, когда мы вынуждены или переносить расчет данных и найденную ошибку, либо мы теряем возможность построчной сверки :( Вообщем печаль, беда и разорение. Если кто знает уже готовый тулсет для сверки таблиц построчно-поколоночно на спарке - напишите в комментарии, пожалуйста. Написать свой вроде несложно, но вдруг древние уже учли все проблемы. Почему spark? Потому что можно в нем внутри сравнивать разные системы без материализации и копирования данных, а еще легко сделать __select sha1(*) from...__
Снаряд два раза в одну воронку не падает Интересно, что у архитектора данных…
Из этого канала
- #454На нас надвигается великий и ужасный 117-й приказ ФСТЭК. Нашел хорошее почти…
На нас надвигается великий и ужасный 117-й приказ ФСТЭК. Нашел хорошее почти трехчасовое (!) видео с объяснением и обсуждением его деталей.
- #455Команда Кликхауса опенсорснула Кубернетис оператор…
Команда Кликхауса опенсорснула Кубернетис оператор https://clickhouse.com/blog/clickhouse-kubernetes-operator
- #456О далеких доброжелателях На днях подписчик прислал ссылку на пост в жанре…
О далеких доброжелателях На днях подписчик прислал ссылку на пост в жанре площадной филиппики в мой адрес.
- #452Два хороших примера использования нейронки
Два хороших примера использования нейронки
- #451Из комментов, тест Seedance 2.0 подписчика, промт (!): A spectacular fight…
Из комментов, тест Seedance 2.0 подписчика, промт (!): A spectacular fight between a Tajik and an Uzbek over pilaf.