Записал на YouTube бесплатный обучающий курс по инженерии данных, кому интересно - можете ознакомиться

IT, Python3, SQL, Linux, Data Engineering, разработка, Программирование, обучение, Войти в IT, Airflow

Всем привет!

Меня зовут Александр.

В IT работаю уже почти 15 лет, большую часть этого времени что-то делаю с данными: от инженерии и аналитики - до машинного обучения.

Последние несколько лет начал менторить людей (пруф: https://getmentor.dev/mentor/aleksandr-berdyshev-1720).

И меня поразило: из 10 человек, которые пытались в IT вкатиться через Python, все 10 человек шли в Backend - разработку. Где вакансий не так уж и много, т.к. приходится конкурировать с разработчиками на PHP, Go, Node.js

Я подумал: "Странно, почему все в бекендеры пытаются пойти?". Дело оказалось в том, что про инженерию или аналитику данных люди даже не слышали (а там вакансий даже больше, чем на бекенд на Python. Сейчас просто дикая нехватка аналитиков данных).

А почему не слышали - потому что на русскоязычном ютубе об этом информации практически нет.

Я решил исправить это дело, набрал бесплатно группу в 12 человек и начал их учить на инженеров данных. Все снятые видео выкладывал на ютуб.

Почему стоит входить в IT через инженерию данных:

Бесплатный курс "С 0 на инженера данных" тут:

Записал 40 уроков - их реально пройти за 4 месяца со всеми ДЗ.

Рассказываю про Python, Linux, SQL, Airflow.

Видоса до 4-го бывают иногда проблемы со звуком, потом эти проблемы решил.

Записывал всё для людей, начинающих с 0 - так что не стоит на уроке с типами данных писать, что я не даю на 1-2 уроке людям сразу мутабельность - у меня была задача идти в таком темпе, чтобы новички всё поняли и не забили.

Надеюсь кому-то это поможет изменить свою жизнь и начать нормально зарабатывать.

Больше интересных постов по тегу «Удаленная работа». Кстати, найти удаленную работу проще, чем кажется: посмотрите вакансии на сайте Пикабу Работа.

Программирование на python

647 постов11.8K подписчиков

Добавить пост

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

Вы смотрите срез комментариев. Показать все
49
Автор поста оценил этот комментарий

Что такое инженерия данных на практическом примере ?

раскрыть ветку (58)
91
Автор поста оценил этот комментарий

Есть оперативная база (OLTP), например на PostgreSQL, она строковая. Делать на неё аналитические запросы (например, выбрать данные за 5 лет с группировкой подневно) - во-первых сильно загрузит базу, во-вторых будет работать очень медленно.

Чтобы этого избежать - надо продублировать даннные в какой-нибудь Clickhouse (колонковая БД, OLAP) - чтобы аналитические запросы работали быстрее (кейс из недавней практики).

А ещё иногда бывает что в компании очень много различных баз - и надо все данные оттуда в какой-нибдь Hive/Hadoop собрать, чтобы просто можно было ко всем им одновременно запросы писать (в любой крупной компании, типа X5 Retail group или банка) - за это тоже отвечает инженер данных.

раскрыть ветку (56)
204
Автор поста оценил этот комментарий
Самим постом я заинтересовался и даже добавил в избранное, чтобы на днях посмотреть ваши видосы... потом открыл комментарии, дошел до Вашего, прочитал и нихрена не понял
Иллюстрация к комментарию
раскрыть ветку (16)
38
Автор поста оценил этот комментарий

Инженерия данных - профессия, отвечающая за сбор/обработку/сохранение и прочие манипуляции с данными. Служит, собсно, для получения данных из разных источников и передачу этих данных бизнесу для остальных манипуляций (собсно, аналитика, DS и т.п.)

Иногда результаты моделей машинного обучения тоже инжи обслуживают.


Прям очень грубый и простой пример:

есть у вас десяток магазинов, каждый магазин ведет свою БД с продажами/заказами и прочим.

Вот тот человечек, который "объединит" информация от всех ваших магазинов в единую БД и предоставит данные для анализа/сравнения и будет инженером.


*по факту, конечно, для таких мелочей отдельного человечка нанимать не будут, но подобные задачки являются одним из кусков специальности*

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Это прям моё, когда-нибудь доберусь до этой специальности)
6
Автор поста оценил этот комментарий
Аналогично) подумала, что посмотрю видео позже, а тут этот комментарий, в утром я с самого начала вообще ничего не поняла)
раскрыть ветку (11)
40
Автор поста оценил этот комментарий

Ну, если будете подряд смотреть на ютубе 40 уроков - в части про SQL я как раз понятно всё рассказываю - так чтобы люди с 0 всё поняли...

раскрыть ветку (10)
5
Автор поста оценил этот комментарий

отправьте их сначала сюда: https://sql-ex.ru/

4
Автор поста оценил этот комментарий

На каком уровне необходимо знание алгебры в этой профессии?

раскрыть ветку (3)
10
Автор поста оценил этот комментарий

На каком уровне необходимо знание алгебры в этой профессии?

да

раскрыть ветку (1)
Автор поста оценил этот комментарий

А ты хорош)

Автор поста оценил этот комментарий

умножение, но это не точно

1
Автор поста оценил этот комментарий

А вот у меня вопрос, вот есть у меня папа - пенсионер, но у него с алгеброй очень хорошо. Ему реально трудоустроиться после обучения, как в IT с возрастным цензом?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Нет, скорее всего. Надо кроме базы иметь навыки, такие как компьютерная грамотность и умение уверенно пользоваться различными программами.

1
Автор поста оценил этот комментарий
Спасибо
Автор поста оценил этот комментарий

Слушай, а не позновато народ скулю учить? В текущих реалиях не логичнее рассказывать тоже самое на базе постгре (про) или хотя бы марии дб?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

К1с-ник скажу. что в крупных компаниях скуль пока чаще, чем постгре.

Автор поста оценил этот комментарий

на русский это "чтобы не тормозило"

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Нет, чтобы не тормозило это DBA, мастера схемы, сетевые админы и прочая. Аналитика данных про это тоже, но далеко не в первую очередь.

8
Автор поста оценил этот комментарий
Кстати, я работал раньше бизнес координатором, и знал совсем немного sql, с помощью гугла умел писать простые скрипты вба и делал отчёты в эксель(Эксель знал на уровне индекса). А в остальном у меня была больше административная работа. То есть в it я практически был полный ноль.

Сейчас устроился в другую организацию
Не знаю как я прошел отбор, но меня взяли модельером данных. Я из массивных sql запрсов, забираю нужные поля, закидываю через visual studio в олап кубы и вывожу все в эксель. Потом еще пишу мануалы к ним.
Ингда пишу вба запросы через гугл и слёзы.
Так вот, когда я пришел на эту должность, я вообще не знал что и куда, пришлось в ускоренном формате проходить курсы по кубам и добивать знания по sql.
И что печалит, то по кубам вообще практически нет курсов. Хз как, но через боль, страдания и бессонные ночи, кое как наскреб какие-то знания и усешно прошел испытательный срок)
Кстати зп на моей должности чуть выше среднего по МСК и в 3 раза больше чем была раньше у меня.
До сих пор не верю, что я что-то умею или знаю:DD

Кстати я до сих пор не знаю, кто я на самом деле - модельер данных , аналитик или конь в пальто. Не знаю многие аббревиатуры или айтишный жаргон. Я просто знаю как делать ту или иную работу, или гуглю, если что-то не знаю.
Кстати образование у меня экономическое.
1
Автор поста оценил этот комментарий
А мне, наоборот, звучит как-то слишком легко))

"Аналитика данных", но в информации из комментария я не увидела именно аналитики. Звучит так, как будто вся работа это подобрать подходящую структуру данных (реляционная/нереляционная бд) и просто перенести нужные данные, предварительно выцепив их sql запросами из старой бд.

Мне кажется или раньше это и было частью работы беков? А сейчас выделили в отдельную профессию?
По крайней мере, когда я работала беком, все манипуляции с бд, включая всякие миграции, ложились на мои плечи.

Мне нравится алгоритмы, поэтому я заглядываюсь в смежные области, связанные с аналитикой.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Да там и написан пример стиля "объяснить новичку различия", причем вроде именно такой пример, с аггрегацией за 5 лет, дает сам автор кликхауса.


Работа с БД у бэков осталась, куда ж без нее.


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

И, соответственно, это может быть от чистого SQL до моделек машинного обучения.


Есть целое направление постоения DWH с разными принципами записи полученных данных, иногда даже инжей DWH выделяет отдельных :)

Автор поста оценил этот комментарий

Сорри, с каким уровнем есть смысл смотреть. Ибо вот из вот этого камента ничо не понял.

Автор поста оценил этот комментарий
О, так вот чем я оказывается занимался, когда в экселе сплошной строковый список оборудования с характеристиками по колонкам разбивал и фильтры включал! И это в не-IT маркетинге ..
раскрыть ветку (2)
1
Автор поста оценил этот комментарий

А я кран вчера один починил, другой заменил. И я при этом даже не сантехник. А сегодня я поесть себе приготовил на завтрак, и я даже не повар!

раскрыть ветку (1)
Автор поста оценил этот комментарий
Но выполняли роль.
Я к тому, что описана сложная профессия как-то слишком просто.
1
Автор поста оценил этот комментарий
Извините, вопрос от дилетанта, а там всякие там индексы для оптимизации, не решают проблему ?
раскрыть ветку (16)
10
Автор поста оценил этот комментарий

Представьте, что у вас в таблице 50 колонок.

Если вам надо достать какое-то поле, в PostgreSQL, с жёсткого диска будет считываться строка со всеми 50 колонками.

В колоновых базах данных данные лежат по колонкам - и во-первых не будут с жёсткого диска читаться ненужные колонки, во-вторых 1 значение будет записано 1 раз - поэтому группировка и фильтрация будут значительно быстрее идти.

+ колонковые базы оптимизированы под работу с аналитическими запросами.

А так да, PostgreSQL база с индексами будет работать значительно быстрее, чем без них. Но на аналитических запросах колоновые БД будут работать раз в 100 быстрее.

раскрыть ветку (15)
2
Автор поста оценил этот комментарий

По описанию непонятно. Какая разница принципиально, как считывать выборку из БД - через диапазон А1-А5 или 1А-1E?

раскрыть ветку (5)
2
Автор поста оценил этот комментарий
Разница в том, что если надо получить данные по 2 колонкам на 1000 строк с 50 колонками в строке, то постгрес сначала считает эти тысячи строк со всеми колонками, потом отдаст пользователю нужные колонки, а условная кассандра не будет лишние колонки считывать. Для конечного пользователя разницы нет, но нагрузка на БД разная
раскрыть ветку (3)
Автор поста оценил этот комментарий

Ну я вот про механизм и спросил.
И не очень понятно - если подобное решение уже есть, почему оно до сих пор не выдавило с рынка менее производительное?

раскрыть ветку (2)
3
Автор поста оценил этот комментарий

Они просто разные.

Есть же еще такие критерии, как скорость записи/изменения.

Есть требования по необходимой ширине данных.

Особенности типизации. Дублирование информации.

То есть нет такого, что одно хорошее, второе плохое. Цели различаются.

Автор поста оценил этот комментарий
Реляционные БД имеют свои плюсы, они хорошо подходят под описание предметной области
1
Автор поста оценил этот комментарий

смысл в том, что не всегда есть необходимость выбирать всю ширину таблицы. Зачастую нужны лишь определенные поля. В колоночной базе данные в файл пишутся по-колоночно. В строковой соответственно построчно.

6
Автор поста оценил этот комментарий

Не понял.


Если вам надо достать какое-то поле, в PostgreSQL, с жёсткого диска будет считываться строка со всеми 50 колонками.

постгри что, умеет только в SELECT * FROM ... ?

вот ни в жисть не поверю, что нельзя выдернуть только одну колонку запросом вроде SELECT need_field FROM ...

раскрыть ветку (4)
5
Автор поста оценил этот комментарий

Есть порядок выполнения операций. Вот селект - одна из последних.

Читаем -> применяем условия отбора -> отображаем нужные колонки.

Но читаем все равно все, а не только нужное.


P.S. Порядок выполнения и у колоночных есть, конечно. Но чуть иначе работает)

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Ишь ты ) Спасибо. Пойду почитаю теорию - никогда раньше не заморачивался.

Привык работать как с черным ящиком - орём во входное отверстие - из выходного получаем средний палец ответ ))

1
Автор поста оценил этот комментарий

Всё дело в порядке выполнения.

Сначала sql собирает всё данные при помощи FROM;

Затем фильтрует строки, используя WHERE;

Группирует с помощью GROUP BY;

Фильтрует с помощью HAVING;

И уже после этого выбирает столбцы для отображения с помощью SELECT.

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Ишь ты ) Спасибо. Пойду почитаю теорию - никогда раньше не заморачивался.

Привык работать как с черным ящиком - орём во входное отверстие - из выходного получаем средний палец ответ ))

Автор поста оценил этот комментарий

Я бы сказал так, что есть два типа задач: 1. Транзакционные. Которые чаще используются в приложениях. Например: быстро вытащить карточку клиента из базы. Тут хорошо работают строчные системы хранени, ибо, при правильно нормализованной базе, один клиент со своими данными - это, грубо, одна строка в таблице. 2 тип задач: просуммировать, или произвести какую-то статистическую операцию над продажами отдела за год. Тут строчное хранение уже не эффективно, потому что для операции суммировпния нужна только одна колонка, например, сумма чека, и колоночные системы на диске последовательно хранят уже не строки а колонки.

Автор поста оценил этот комментарий

под капотом у бд лежат всякие алгоритмы на графах и деревьях. Поэтому вряд ли существуют запросы которые имеют сложность выше логарифмической. А точечные запросы и вовсе O(1)

Разве что 'select * from table' вызовет вычисления со сложностью O(n). Он в принципе и просит вывалить всю таблицу от начала до конца.

А вот запросы с условием 'select * from table where name=vasya' уже скорее всего будут применять алгоритмы поиска с логарифмической сложностью.


БД не дураки придумывали.


Коротко говоря все колонки и ряды перебираться не будут.

раскрыть ветку (2)
Автор поста оценил этот комментарий

Прочитайте про то, чем колоночные БД отличаются от строковых - будите удивлены...

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я у mysql как-то ковырнул в хекс редакторе файлы бд на диске.

Там вроде как бинарная сериализация с адресно указательной структурой данных, которая позволяет не читать и парсить всю строку целиком, а прыгать по определенным адресам перепрыгивая избыточные данные.

Такая сериализация в целом и дает логарифмическую сложность. Ну а при менение индексов может и вовсе привести к сложности О(1)

2
Автор поста оценил этот комментарий

Блин, ну попросили же на реальном примере. Всё эти абрвалгэскьюэль, сразу все понятно стало.

раскрыть ветку (5)
7
Автор поста оценил этот комментарий
У тебя к примеру 20 поставщиков. У каждого свой прайс на 10 тысяч позиций. Прайсы делались различными людьми и у них разные структуры. Надо собрать один прайс свой, все данные привести к одному виду. В каждом прайсе свои заморочки, ошибки или ещё что. Это должно решаться на лету, а в твоём магазине всегда свежий прайс)
раскрыть ветку (4)
2
Автор поста оценил этот комментарий
Магазин актуальных прайсов?)
раскрыть ветку (1)
Автор поста оценил этот комментарий
Ога) пример с оптовиками и розничным магазином
3
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Если для вас термины из IT это новопидорский, то вам явно не надо в IT

1
Автор поста оценил этот комментарий
Все сидят на 1С, какие еще "много различных баз" ?
раскрыть ветку (7)
5
Автор поста оценил этот комментарий

Вы про микробизнесы пишите.

А речь о серьезных компаниях.

раскрыть ветку (3)
Автор поста оценил этот комментарий
Производитель алкоголя топ3 РФ достаточно крупный бизнес? А один из лидеров ит дистрибуции?
Решения 1С использую очень крупные компании.
раскрыть ветку (2)
3
Автор поста оценил этот комментарий

Вы сразу напишите название компаний, к чему эти ребусы?

Дело в величине документооборота и данных.

Если производитель алкоголя имеет 1000 sku, 1000 сотрудников, 100 000 единиц выпуска в день - то да, крупный.

1
Автор поста оценил этот комментарий

Вы сразу напишите название компаний, к чему эти ребусы?

Дело в величине документооборота и данных.

Если производитель алкоголя имеет 1000 sku, 1000 сотрудников, 100 000 единиц выпуска в день. - то да, крупный.


Ну и плюс вы не поримаете, где и для чего используют 1с, а где postgre, или hadoop

3
Автор поста оценил этот комментарий

Допустим у бизнеса есть очень много данных в 1С. Бизнесу понадобилось эти данные проанализировать и преобразовать, для этого пишется сервис. В сервисе используются операционные и аналитические хранилища данных, куда данные выгружаются из 1С, преобразовываются и раскладываются этим самым сервисом. Это необходимо, чтобы не было никакого влияния на продуктовую базу 1С.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Всё это делается средствами 1С
раскрыть ветку (1)
Автор поста оценил этот комментарий

Такая задача может лечь на плечи смежной команды, в которой нет 1сников, зато есть все остальные. На собственном опыте пишу.

Автор поста оценил этот комментарий
Управляю оборудованием, запускаю машины. Есть или нет оперативные данные? Без разницы. Работает же. А как все-таки это инженеру может помочь?
1
Автор поста оценил этот комментарий
ПРОПУСТИТЕ ЭТУ ВЕТКУ КОММЕНТАРИЕВ!!!
Будет менее понятно....
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку