Data Engineer
Какви процеси се стартират, когато изтриваме или променяме записи в ClickHouse?
Каква е разликата между рефакторинг и оптимизация?
Кога не ни трябва хранилище за данни?
Задача по Kafka: продюсерът изпраща промени в цената на продукта (200 рубли, след това 300 рубли), консуматорът е репликиран в 3 пода. Ще има ли проблеми в стандартната конфигурация?
Работили ли сте с функции на прозорец? Какви видове функции на прозорец знаете?
Даваме метаданни на входа, и той създава поток въз основа на тези метаданни — как това ще позволи бързо прехвърляне на съществуващите потоци от стари системи към планираните?
Какъв тип типизация се използва в Python: статична или динамична?
Как да постъпим при skew (наклон) по user_id при JOIN таблици на транзакции и потребители? Как да изберем оптималния ключ за разпределение?
Анализ на продажбите по категории продукти в търговията на дребно Работите като анализатор в търговията на дребно. Вашата задача е да създадете отчет за продажбите по категории с следните изчисления: • общият брой продадени единици в категорията (total_units_sold); • общият приход по категория, като се вземат предвид отстъпките, където отстъпката се изчислява като unit_price × units_sold × (1 − discount/100). Ако отстъпката е NULL, се счита за 0%. Закръглете до две десетични места; • средният брой продадени единици на продажба (avg_units_per_sale), закръглен до две десетични места; • делът на продажбите без отстъпка (no_discount_share) — броят на продажбите с NULL или 0% отстъпка, разделен на общия брой продажби в категорията, закръглен до три десетични места. Подредете резултатите първо по общите приходи (total_revenue) в низходящ ред, след това по средния брой единици на продажба (avg_units_per_sale) във възходящ ред, и накрая по името на категорията в азбучен ред. Формат на входа Таблица sales: • sale_id (int) — уникален идентификатор на продажбата • product_id (int) — идентификатор на продукта • category (text) — категория на продукта • sale_date (timestamp) — дата и час на продажбата • units_sold (int) — продадени единици • unit_price (numeric) — цена за единица • discount (numeric) — отстъпка в проценти, може да бъде NULL Колоната discount може да съдържа празни стойности. Формат на изхода Заявката трябва да върне таблица с полетата в следния ред: • category (text) — категория на продукта • total_units_sold (int) — общият брой продадени единици в тази категория • total_revenue (numeric) — общият приход по категория, закръглен до две десетични места • avg_units_per_sale (numeric) — средният брой единици на продажба, закръглен до две десетични места • no_discount_share (numeric) — делът на продажбите без отстъпка (стойност между 0 и 1), закръглен до три десетични места Резултатът трябва да бъде сортиран първо по total_revenue в низходящ ред, след това по avg_units_per_sale във възходящ ред, и накрая по името на категорията в азбучен ред.
Складът беше построен по схемата Data Vault — ти също го развиваше, поддържаше ли? Ръчно добавяше хъбове, линкове?
Как да изберем правилния ключ за шардване за равномерно разпределение на данните?
Как бихте постъпили с веригата Materialized View чрез междинна таблица ReplacingMergeTree, за да попълните правилно данните, които вече съществуват преди стартирането на новата MV?
Как разбираш концепцията за ключове в таблиците — за какво е това?
Как да заредим данни от Kafka в ClickHouse чрез streaming за отчети в реално време?
Какво е първичен ключ в ClickHouse и как се различава от първичния ключ в обикновените бази данни?
Каква е разликата между командите docker run и docker exec?
Кои групи SQL оператори знаете? Към какво се отнасят?
Какво е Catalyst оптимизатор в Spark и какви конкретни оптимизации извършва (например, predicate pushdown)?
Каква е алгоритмичната сложност при получаване на елемент по ключ от речник (dict) в Python?
Как да сравним оригиналната („на живо“) и целевата таблица, ако източникът постоянно се променя?