Я – Дата Инженер – Telegram
Я – Дата Инженер
4.25K subscribers
342 photos
33 videos
12 files
243 links
💻 Как войти в IT?
💵 Как стать Data Engineer
🗄 Что такое Big Data и кто ей управляет?
_____________________________
Автор @halltape
Все вопросы по рекламе @k_shredinger
Download Telegram
⚠️ HR накрутила опыт!

В ответ на такие требования можно написать:

Про Python узнал вчера. Программирую на Python с пяти лет.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9👏1
Forwarded from Госпожа аналитик 💚 Ия Зотова (Ия Зотова️)
🎞 DATA АНАЛИТИК: Как из зарплаты в 25 000 ₽ войти в IT в BIG DATA
Готово наше новое интервью со мной в роли Героя)

Я поделюсь с вами:
• про работу в одной компании 8 лет и как там получала зарплату 25 000 р.
• как и почему решила идти в аналитику, про обучение и мотивацию
• как факапила отклики и собесы, про плохое резюме и самозванца
• как попала в Сбер и про тестовое задание
• про удаленку в Сбере
• как я стала лидом за 1 год, самозванца и депрессию
• про команду, про первый набор аналитиков и мои страхи
• зачем мне менторство и личный бренд
• где брать pet-проекты джунам

💚Подкаст вышел как обычно супер емким и будет полезен всем начинающим специалистам, независимо от IT-профессии

Если было полезно и словили инсайты, будем рады донатам. К задонатившим прилипает лучшая в мире работа😁:
https://pay.mysbertips.ru/92484472

✈️Делитесь подкастом и подписывайтесь на наши каналы:
Ия: https://news.1rj.ru/str/Lady_Analyst
Женя: https://news.1rj.ru/str/halltape_data
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🆒3💯1
🔄 Кто решит, тому трешка на Патриках, как обычно!

Задача.
Посчитать кол-во автомобилей(марок) у людей. При этом нужно учесть, что столбцов с названиями авто может быть и 100 и 200 и 1000.

Предложите адекватное решение этой задачи. В конце я напишу вариант на Spark. Но хочется увидеть решение на SQL

#sql
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄3🔥2💯2😁1
💰Сколько ты зарабатываешь?

🌈 Зарегестрировался значит я в отечественном заменителе LinkedIn с названием Сетка. Название, конечно, треш.

🖥 Пока только осваиваюсь. Но уже наткнулся на интересный пост. Кто поучаствует в обсуждении здесь, тому в Новом Году обещаю пообещать повышение зарплаты на X2.

💎Также предлагаю обсудить идею такой сети. Повторит ли она судьбу ClubHouse?
Please open Telegram to view this post
VIEW IN TELEGRAM
3😁2💯1🎄1
Forwarded from Госпожа аналитик 💚 Ия Зотова (Ия Зотова️)
🚗🎞НОВОГОДНИЙ выпуск: Дубайские модели, карьера, обучение, LeetCode и другие радости айтишника

🎩В последний рабочий день года последний подкаст в этом году. В выпуске говорим:
• о блогерстве
• о карьерном треке
• о технологиях и терминологиях
• о светлом будущем, в котором нас заменит искусственный интеллект
• о тухлых комментариях тех, кто не попал в IT

❤️Подписывайтесь на наши каналы:
• Ия, Team Lead DA: t.me/Lady_Analyst
• Евгений, DE: t.me/halltape_data

Если было полезно, весело, то поддержите наш проект донатами:
💲 pay.mysbertips.ru/92484472
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥85🎄5👍2
🫥 Задача с собеса на 800к/месяц

Эй, миллионеры, что выведет следующий запрос?

SELECT *
FROM table
ORDER BY total DESC


#sql
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8😁3👍1
Forwarded from Denis
Народ, привет!
Кому интересно - Сбер, 9 грейд, есть вакансия на джуниор DE.

Обязанности - разработка витрин с данными Рисков, техстек - кластер на Hadoop.

Требования - отличное знание SQL + python (pandas), плюсом - pyspark.

Условия - офис на Кутузовской, удаленки нет, график 5/2.

Кому интересно - пишите в личку пообщаемся.
🔥6👍21💯1👀1
🧐 По вакансии сверху писать сюда @denis_lomakov
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Госпожа аналитик 💚 Ия Зотова (Ия Зотова️)
🎞 JAVA-DEVELOPER: Кто такой Senior и что спрашивают на собесах
Гость: Анастасия Андреева, Senior Java Developer

Анастасия поделится:
• Кто такой senior разработчик и как им стать
• Честно о том, как проходила собесы и что не получилось
• Какие вопросы и задания даёт, когда сама проводит собеседования, поделится лайфхаками
• Расскажет зачем нужны алгоритмы и как использует искусственный интеллект

Подписывайтесь на наши каналы:
• Ия, Team Lead DA: https://news.1rj.ru/str/Lady_Analyst
• Евгений, DE: https://news.1rj.ru/str/halltape_data
• Анастасия, Java Developer: https://news.1rj.ru/str/itdevgrl

Если было полезно, весело, то поддержите наш канал донатами:
💲 https://pay.mysbertips.ru/92484472
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥3🥰2👍1
🧐 HDFS

Начинаю цикл постов про HDFS в стиле «для бабушек».

Hadoop Distributed File System (HDFS). В двух словах – это файловое хранилище. Или навороченный жесткий диск. Представьте, что вам каждый день надо сохранять 500Гб на жесткий диск. На домашнем компе у вас очень быстро закончится место. Придется докупать постоянно много жестких дисков. А куда их столько подключать? Портов не хватит! Поэтому люди начали строить дата центры.

Это здания, в которых стоят шкафы серверов. Т.е. это просто шкаф, в который можно поместить до 30-40 серверов. Каждый сервер выглядит, как полка в шкафу буквально. Сами сервера тоже соединены между собой. Сервер - это несколько жестких дисков (похожие на наши домашние), соединенные между собой. И также соединены между собой и сами шкафы через специальное устройство «типа роутера» или (свич-коммутатор).

В итоге мы имеем огромный кластер из серверов. Или очень большой жесткий диск. При том он еще и удаленный. Каждый сервер может иметь у себя на борту не только диски, но и процессоры, контроллеры и собственную операционную систему. В HDFS это Linux. И да, вы спокойно можете подключиться к любому из доступных вам серверов и полазить внутри него по файловой системе. Все знакомые команды в терминале также прекрасно работают и у них.

С каждым постом мы будет усложняться и углубляться в подробности. Пропускать пост нежелательно, чтобы потом не поехала крыша.

#hdfs
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍54💯2💅1
🧐 HDFS Блочное хранилище

Файлы не хранятся одним цельным куском (Как у нас на компьютере). Как правило в HDFS удобно хранить таблицы с данными. Например Excel таблицу в формате csv. (По факту таблички в HDFS конечно чаще хранятся в формате parquet)

HDFS разбивает файл на блоки определенного размера. Поскольку HDFS это не один большой диск, а много мелких (сервера), то каждый блок записывается на разные жесткие диски (сервера). Представьте таблицу размером 1000 Мб. Представьте, что размер блока установлен системой в 100 Мб. Тогда таблица будет разрезана на 10 блоков по 100 Мб. Каждый блок будет записан на разные жесткие диски (сервера). А теперь зачем это надо?

Если в один из жестких дисков прилетит копье, то он умрет и похоронит все данные, которые на нем были. При этом мы не потеряем весь файл целиком, а только 1/10 его часть. Это одна из фишек HDFS. Плюс, если нам нужно прочитать большой файл, то делать это одним компьютером было бы очень долго. Вместо этого, мы можем подключить несколько компов и дать им посчитать по блоку параллельно. Каждый возьмет себе небольшой кусочек и одновременно с другими выполнит вычисления.

Можно ли хранить в HDFS например видео или музыку?
Нет, видосы и музыку сложнее разбить на блоки. Для таких данных существуют другие типы хранилищ.

Здесь я специально избегаю терминов таких как, топология сети, узлы имен, сегменты, репликация. Об этом будет в следующих постах. Мы будем плавно усложнять материал, чтобы никто не путался.

#hdfs
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍6❤‍🔥3💯1
Он шарит за всю Big Data Сбера!

Хочу порекомендовать канал Кости – дата инженера из моей команды! Он крайне эрудированный парень.. я вот сейчас реально не преувеличиваю. Шарит за многие технологии, языки и именно благодаря ему у меня сейчас крутится витрина данных на кластере. Без его помощи я бы тупил еще долго:)

Костя пишет не только про код, но и просто крайне полезные мысли. Вот мне например понравился отрывок:
…вы чувствуете что чего то не понимаете и упираетесь в стену. То не спешите менять тех стек и область своего изучения. Поспите день - другой, найдете того кто мог бы вам помочь и объяснить непонятный момент и так вы достигнете гораздо большего.
Это важно, потому что :
Вы столкнетесь с такими же проблемами и преградами в другом языке (это называется learning curve по умному)

Костя также относительно недавно делал deep dive по Airflow! В канале можете найти видеозапись презентации. Это у нас в команде мы проводим такие «сходки», когда кто-то один готовит материал по одной технологии и всем остальным рассказывает.

Короче качаем скиллы!
Еще раз ссылка
➡️https://news.1rj.ru/str/dataskewer
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11💯3😁1🎄1
Forwarded from Госпожа аналитик 💚 Ия Зотова (Ия Зотова️)
🎞 DATA АНАЛИТИК: Следователь продал авто и стал аналитиком | Интервью с Middle DA

Гость: Алексей Яцына, Middle Data Analyst, Сбер

Алексей в интервью поделится:
• Как продал свой Феррари авто и перешел из следователя в аналитики
• Как профессия следователя пересекается с аналитиком данных
• Какие курсы на аналитика прошел и какие оказались лучше. Карпов vs Я.Практикум
• Про стажировку и почему отказался от нее
• Почему нравится ходить по собесам и про первую работу в банке
• Про карьерный трек аналитка и куда хочет двигаться дальше

https://youtu.be/znR94HAbf9s

Подписывайтесь на наши каналы:
• Ия, Team Lead DA: https://news.1rj.ru/str/Lady_Analyst
• Евгений, DE: https://news.1rj.ru/str/halltape_data

Если было полезно, весело, то поддержите наш канал донатами:
💲 https://pay.mysbertips.ru/92484472
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3💯2
К чему был предыдущий вопрос?

🧳На днях у нас с коллегой возник такой кейс: есть 50 таблиц, содержащих колонку с датой, но там есть дата, дата и время и unix timestamp. Цель - нужно их все объединить. БД - ClickHouse.

Итерация 1:
SELECT 
max(
if(
table_name LIKE 'offline%',
toDate(FROM_UNIXTIME(dateTime::INT)),
toDate(dateTime)
)
) AS max_date
FROM schema.source_table

Количество считанных строк - 46 млрд. Время работы - 2,5 минуты. Ну... долго ждать, давайте еще раз внимательно посмотрим🤓

Итерация 2 - вынесли приведение даты со временем к дате в самый конец:
SELECT
toDate(
max(
if(
table_name LIKE 'offline%',
FROM_UNIXTIME(dateTime::INT),
dateTime
)
)
) AS max_date
FROM schema.source_table

Количество считанных строк - 46 млрд. Время работы - 1,5 минуты. Уже лучше, но можно ли еще быстрее?

Итерация 3 - вынесли приведение unix timestamp к дате со временем:
SELECT
toDate(
if(
table_name LIKE 'offline%',
FROM_UNIXTIME(max(dateTime)::INT),
max(dateTime)
)
) AS max_date
FROM schema.source_table

Количество считанных строк - 25 млн. Время работы - 6 секунд. Супер! Нам этом остановимся👍
В итоге мы сначала находим максимальные значения и только потом кастуем. Выигрыш во времени - в 25 раз.

🕒Время и строки можно посмотреть в системной табличке system.query_log в столбцах query_duration_ms, read_rows.

🐢В первых двух случаях в плане запроса есть шаги:

ReadFromMergeTree (schema.source_table) - читаем таблицу

Expression ((Conversion before UNION + (Projection + Before ORDER BY))) - кастуем к дате в каждом подзапросе

🐆В третьем:

ReadFromStorage (MergeTree(with Aggregate projection _minmax_count_projection)) - вот эта проекция сильно быстрее, чем скан всей таблицы, а лишних приведений уже нет. Profit👍

#sql_tips
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1042💯1
🧐 HDFS Какой размер блока?!

Итак повторим. У нас несколько шкафов, внутри сервера (до 40 штук), а внутри серверов жесткие диски. Жесткие диски бывают HDD (как на слайде) и SSD. Все файлы в HDFS делятся на блоки.

HDD дешевле, но медленнее. SSD дороже, но быстрее. Принцип работы HDD похож на виниловую пластинку. Есть магнитные диски и есть специальная головка (красная на слайде). Она намагничивает на вращающийся магнитный диск магнитные дорожки. Так пишутся наши файлы. Эти магнитные сектора могут располагаться на разных дорожках. Поэтому головка диска постоянно бегает по дорожкам, читая или записывая тот или иной файл. Т.е. если головка будет читать один большой цельный файл, то очевидно бегать туда сюда она не будет. Она просто будет читать длинную длинную дорожку.

В SSD никаких вращающихся механизмов нет. Информация там хранится в специальных ячейках, которые заряжаются, если на них подать напряжение и разряжаются, если напряжение с них убрать. Есть заряд это 1, нет заряда это 0. Кстати SSD не очень любят перезапись. Дело в том, что ячейка памяти держит у себя заряд благодаря диэлектрику. А он с каждой перезаписью разрушается. Тем самым ячейка начинает хуже держать заряд и емкость SSD снижается. При этом скорость конечно моментальная благодаря внутреннему контроллеру. Он главный мозг и все знает про все ячейки.

Собственно какой размер блока должен быть в HDFS? Нам важно, чтобы чтение и запись шли как можно быстрее. Если размер блока будет слишком маленьким, то времени на чтение 1000 блоков уйдет больше, чем на чтение 10. Пока головка сменит положение, пока прочтет информацию. И так 1000 раз. Вместо того, чтобы 10 раз сменить положение и спокойно прочесть то, что нужно.

В мире люди опытным путем посчитали, что 128Мб, 256Мб являются оптимальными размерами для блоков. Я сейчас говорю на примере стандартного привычного CSV файлика. Это важно, так как более специфичные файлики формата parquet хранятся иначе. Но об этом в другой раз.

#hdfs
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5💯2❤‍🔥1
🧐 HDFS Как делятся файлы?

Итак повторим. Файлы в HDFS хранятся распределенно на нескольких серверах. Файлы делятся на одинакового размера блоки. Чаще используют HDD диски.

Хорошо, размер блока установлен в 128Мб. Кстати вы можете задать размер при настройке HDFS в конфигурационном файле. Можно выставить ЛЮБОЕ число, хоть 100500Гб. Но как же будет делиться файл, если он весит 50Мб? Это же меньше размера блока.
БЛОК БУДЕТ размером 50Мб
Если файл меньше размера блока, то блок будет создаваться размером с файл. Если файл 1Кб, то создаться блок = 1Кб.
Если вы грузите 1000 разных файлов по 1Кб, то и будет 1000 блоков по килобайту.

Ок. А если файл 200Мб? Тогда первый блок будет 128Мб, а второй блок будет 72Мб.


Ок. А если файл 128.0005Мб? Тогда создаться блок 128.0005Мб. Если остается очень маленький хвостик, который меньше 1%, то он приклеивается к крайнему блоку.

К слову, задавать слишком большой размер блока нет смысла. Чаще мы читаем не весь файл целиком, а только его некоторую его часть. Поэтому 128Мб является оптимальным.

В HDFS существует также проблема мелких файлов, но об этом в следующих постах.

#hdfs
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👌5💯2