Мне кажется 10 лет назад было проще войти в профессию, не было контента, не было множества решений и программ для аналитики. Вот посмотрел, что есть на udemy для data engineering - 10к результатов, там и big data с Hadoop, и ML, в общем каждой твари по паре. Как у вас с этим дела обстоят?

21 comments

Show 6 more comments
Evgeniy S
Тоже иду туда из аналитики. Питон это must have, учи и применяй везде, где можно, чтобы набивать руку
я и без pyhton хорошо себя чувствую. Мне кажется главное понимать как построить решение и какие инструменты использовать, pyhton это одно из решений.
Chern Oleksander
Я, просто, закончил экономиста и вот программирование очень тяжело дается. Плюс понял что нужно еще обуздать Bash и Linux или нет?
Linux и CLI - это не программирование. SQL точно надо знать, и понимать как end to end решения делать в теории.
Dmitry Anoshin
Linux и CLI - это не программирование. SQL точно надо знать, и понимать как end to end решения делать в теории.
Ну, например я себе сделал стек на облаке google, сохраняю файлики от АПИ в Google Storage от туда они пишутся в БД Postgres в этой БД созданы процедуры/функции которые запускаются из AirFlow.
Так вот 80% изъятия из апи и загрузка в облаке все на питоне. Есть вариант на Ruby/JS/PHP
Без языка программирования это нельзя было сделать.
Какой вы язык используете ?
Chern Oleksander
Ну, например я себе сделал стек на облаке google, сохраняю файлики от АПИ в Google Storage от туда они пишутся в БД Postgres в этой БД созданы процедуры/функции которые запускаются из AirFlow. Так вот 80% изъятия из апи и загрузка в облаке все на питоне. Есть вариант на Ruby/JS/PHP Без языка программирования это нельзя было сделать. Какой вы язык используете ?
А можно было сделать другой стек на облаке. Взять ETL инструмент с marketplace который поддерживает API и где не надо кодить. Вариаций много на эту тему. Главное есть результат, а как его получили уже другой вопрос. Одна и таже задача может быть решена несколькими способами.
Chern Oleksander
Я вот иногда не понимаю, вот скажите Delete from test_tbl Where report_date=now() ; Insert into test_tbl Select * from tmp_test_tbl ; Это ETL? И можно пример, где не нужно кодить ?
Это ELT. Для меня слова ETL/ELT - это просто синоним к слову интеграциия данных, в контексте загрузка данных в DW.
Chern Oleksander
Не совсем понимаю )) Вы про аутентификацию?
Аутентификация происходит через ключ, но его нужно для это вставить в код. Хотя я вот нашел пример из документации, нужно json сохранить на машину https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/service-py но это не безопасно, ключи не захешированы.
Dmitry Anoshin
Аутентификация происходит через ключ, но его нужно для это вставить в код. Хотя я вот нашел пример из документации, нужно json сохранить на машину https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/service-py но это не безопасно, ключи не захешированы.
Это если через локальнкю машину делаешь, тогда просто в переменку environ("credntia...") Заганяем путь json ключа
А если через облако, тогда аутентификация не нужна и про это не пишут или я просо не нашел.
Вы скинули на АПИ гугл аналитики.
А есть еще апи внутри облака
https://cloud.google.com/python/getting-started/authenticate-users
daria k.
Извините, вклинюсь, а как api-токены разных сервисов безопасно в облаке хранить?
Я вот по секурности ваще не особо шарю, но в облаке я так понимаю своя система защиты. Главное не делать доступ для всего мира и все будет норм )
Evgeniy S
Dmitry Pimkin
Data Engineer - это инженер, который понимает мир данных и аналитиков. Реальной профессии учат только на местах, т.к. не существует универсальных подходов в решении задач по big data. Я пришел в Авито как младший инженер данных пару лет назад с маленьким опытом в питоне, ETL и BI, а также небольшим багажом теории DWH. Из теории важно знать разные варианты моделей данных и принципы работы распределенных вычислений, (как в MPP базах, так и в классическом MapReduce). Инструментов слишком много, а одну и ту же задачу можно решить десятком разных вариантов и инструментов. Неплохо бы понимать чем хороши те или иные подходы: где подходит Hadoop, а где лучше MPP; чем хорош Data Vault или Anchor Model, а где нормализация вовсе не нужна. Если не ставить себе цель прийти в DE сразу мидлом, то знаний основ и пары-тройки попыток построить какие-нибудь пайпланы данных должно хватить
>Из теории важно знать разные варианты моделей данных и принципы работы распределенных вычислений, (как в MPP базах, так и в классическом MapReduce).

а что можете посоветовать почитать по теории?
Evgeniy S
>Из теории важно знать разные варианты моделей данных и принципы работы распределенных вычислений, (как в MPP базах, так и в классическом MapReduce). а что можете посоветовать почитать по теории?
В книгах по теме я не силен)) Когда-то очень давно, была актуальна книга Кимбала The Data Warehouse Toolkit. Но сегодня оттуда из актуального разве что типы SCD (slowly changing dimensions). Но про них и на Википедии можно почитать.
Я бы рекомендовал вкратце почитать в интернетах про старые подходы к моделированию данных в хранилищах (звезда и снежинка), про SDC (какие типы бывают), про Data Vault и Anchor Modelling. Причем не нужно упарываться и погружаться на все 100%, достаточно понимания плюсов/минусов. Плюс, как говорил выше, неплохо понимать верхнекровнево, как работают MPP базы данных (аналитические базы данных) и в чем их отличие от OLTP.
Но скилл #1 у дата инженера - SQL, причем аналитический (оконные функции и не только).