Data Engineer
В PostgreSQL заголовок версии строки включает параметр xmax. Какова его роль в управлении транзакциями? - Для создания уникального идентификатора строки в таблице - Для проверки видимости строки другими транзакциями - Для обозначения номера транзакции, которая удалила или обновила строку - Для блокировки строки от одновременных изменений несколькими транзакциями - Для указания максимального значения, которое может быть записано в числовую колонку
С Git приходилось работать? Что в Git хранили?
Напрямую со Spark приходилось работать? В чем его минус?
Данные из Greenplum и Trino перегружались в ClickHouse — каким образом можно передать данные туда?
Чем отличается WHERE от HAVING в SQL?
С Kafka ничего сложного нет, главное обработать данные — какие нюансы нужно учитывать?
Насколько вам интересна данная роль, учитывая тесную работу с аналитиками, ревью их кода и консультирование?
Это real-time, нужно как-то между Kafka и ClickHouse Spark включить — как это реализовать?
Airflow DAG и джобы ты как писал — сорок руками или как-то с шаблонами?
Что такое представления (VIEW) и материализованные представления (MATERIALIZED VIEW) в Oracle? Как обновляются данные в материализованном представлении?
Как данные из внешней таблицы заливались в целевые таблицы?
Как вы видите своё участие в проекте с учётом описанного состава команды?
Есть ли у вас опыт настройки pipeline в CI/CD, например, GitLab?
Чем отличается партицирование от шардирования?
Что такое партицирование? Что такое шардирование? Что такое репликация?
Почему не стоит делать много маленьких инсертов в ClickHouse?
Как работает Hash Join?
С чего бы вы начали реализацию проекта?
Чем Greenplum отличается от PostgreSQL?
SELECT * FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.date_start > t2.date_start --DML CREATE TABLE IF NOT EXISTS Employee (id int, salary int, departmentId int); INSERT INTO Employee (id,salary,departmentId) VALUES (1, 70000, 1),(2, 94000, 1),(3, 85000, 1),(4, 80000, 2),(5, 60000, 2),(6, 62000, 3),(7, 90000, 3),(8, 94000, 3),(9, 94000, 3); with cte as( select *, rank() over(partition by departmentId order by salary desc) as max_salary from Employee ) select * from cte where max_salary = 1