Data Engineer
JSON мы будем парсить — кто будет парсить JSON? В ClickHouse функции нет, насколько я знаю.
Расскажите о себе, где работали, чем занимались, какие были интересные задачи и фейлы.
Расскажите про партиционирование в Oracle: зачем применяется и какие виды бывают?
Как в Airflow создать много одинаковых тасков параллельно (например, загрузить много одинаковых файлов)?
В какой команде и под каким руководством вам комфортнее всего работать?
Трассировка показывает только REST-запросы или что-то ещё?
-- Дана таблица numbers с одной колонкой num (целые числа, могут повторяться). -- Напишите SQL запрос, который разделит числа на две колонки: -- even – чётные числа (отсортированные по возрастанию) -- odd – нечётные числа (отсортированные по возрастанию) -- Числа должны располагаться строка за строкой: в первой строке – первое чётное и первое нечётное, -- во второй строке – второе чётное и второе нечётное и т.д. -- Если в одной из групп чисел больше, чем в другой, на недостающих местах должно быть NULL. -- исходная таблица -- num -- --------- -- [phone] -- результат запроса -- even | odd -- -----|----- -- 2 | 1 -- 4 | 3 -- 6 | 5 -- 8 | 7 -- 10 | 9 -- NULL | 11 -- NULL | 11
Какие ещё форматы файлов, кроме Parquet, хорошо работают с Hadoop и Hive?
В чём особенности и отличия Set от List в Python? Помимо производительности, какие ещё есть особенности?
Создана структура таблиц указанная на изображении. Необходимо выполнить запрос указанный изображении. Какой вид join необходимо использовать на месте пропуска [...], чтобы в результате для записей с type = 'table_aw' была заполнена колонка 'naming', а для записей с type = 'table2' — колонка 'serial_number'? create table multirelation( type varchar not null, entity_id integer not null ); create table table_aw( id integer primary key, naming varchar not null ); create table table2( id integer primary key, serial_number varchar not null ); -- структура таблиц select m.type,m.entity_id, ta.naming, t2.serial_number from multirelation m [...] join table_aw ta on m.entity_id = ta.id and m.type='table_aw' [...] join table2 t2 on m.entity_id = t2.id and m.type='table2'; -- запрос Оставить пустым inner cross right left
В каком порядке в SQL осуществляются основные операции: SELECT, FROM и т.д.?
Что такое первичный ключ в ClickHouse и чем он отличается от первичного ключа в обычных БД?
Что такое партиция в ClickHouse и по какому принципу её выбирают?
Расскажи про опыт в X5: чем занимался по части DWH?
Отчет для логистической компании Вы аналитик логистической компании, которая ведет учет операций на складах. Вам необходимо составить отчет по эффективности работы каждого склада. Для каждого склада рассчитайте: • общее количество операций (count_operations); • общее количество товаров, обработанных на складе (sum_quantity); • среднее время обработки операции (avg_processing_time), учитывая только операции с указанным временем (не NULL), округленное до целого числа; • максимальное и минимальное количество товаров, обработанных в одной операции (max_quantity, min_quantity); • количество операций каждого типа («поставка», «отгрузка», «перемещение») в отдельных колонках: supply_operations, shipment_operations, transfer_operations. Отфильтруйте склады, у которых общее количество операций больше 2 и среднее время обработки не превышает 60 минут. Отсортировать результат по ID склада по возрастанию. Формат ввода Таблица operations: • operation_id (int) — уникальный идентификатор операции • warehouse_id (int) — идентификатор склада • operation_type (text) — тип операции: «поставка», «отгрузка», «перемещение»
В PostgreSQL заголовок версии строки включает параметр xmax. Какова его роль в управлении транзакциями? - Для создания уникального идентификатора строки в таблице - Для проверки видимости строки другими транзакциями - Для обозначения номера транзакции, которая удалила или обновила строку - Для блокировки строки от одновременных изменений несколькими транзакциями - Для указания максимального значения, которое может быть записано в числовую колонку
Какие особенности использования XCom в Airflow?
Был медленный аналитический запрос в Hive. Как понять, что с ним случилось, и как его починить?
Вы анализируете таблицу sessions, где status может быть 'success', 'failed', 'pending', и поле ended_at может быть NULL, если сессия не завершена. Вам нужно выбрать все незавершённые сессии, кроме тех, которые в статусе 'pending'. Что можно сказать о корректности следующего запроса? select * from sessions where ended_at is null and status != 'pending';
С чего бы вы начали реализацию проекта?