#база_знаний
Почему дату в СУБД и других хранилищах часто записывают в формате строки?
💡 Этот пост будет полезен новичкам, кто только начинает изучать SQL и задумывается, почему даты иногда хранятся не в привычном формате DATE или TIMESTAMP, а в виде строк.
Когда я только погружался в SQL на работе, для меня было болью, если дата была записана в формате строки. Ведь везде на курсах говорят, что дату нужно хранить в DATE формате, и не иначе.
Сейчас, для меня это является уже меньшей болью, но всегда полезно иметь под рукой формулы перевода или извлечения даты (и ее частей) из строкового формата.
Давайте разберемся, какие есть плюсы и минусы в таком подходе - хранить даты в строковом формате в хранилище.
➕ Плюсы:
▪️Универсальность и читабельность. Формат YYYY-MM-DD (ISO 8601) стал стандартом для представления дат. Записав дату строкой, её легко понять как человеку, так и компьютеру. Это особенно важно, когда данные передаются между разными системами.
▪️Минимизация ошибок при парсинге. Системы могут по-разному интерпретировать даты, записанные в числовом формате. Например, 12/11/2023 в одной системе может означать 12 ноября, а в другой — 11 декабря. Формат строки, особенно ISO 8601, помогает избежать таких путаниц.
▪️Совместимость с разными системами. Не все базы данных или приложения умеют работать с типом DATE, особенно старые системы. Строки проще использовать при интеграции с такими системами.
➖ Минусы:
▪️Неправильная сортировка. Строки сортируются по алфавиту, и это не всегда совпадает с хронологическим порядком. Например, '12/31/2023' может оказаться перед '01/01/2024', хотя по времени это не так. Если придерживаться формата YYYY-MM-DD, таких проблем не будет, но в других случаях возможны сложности.
▪️Ограниченные возможности работы с датами. В строковом формате нельзя сразу использовать встроенные функции для дат, такие как вычисление разницы между датами или извлечение дня недели. Для этого потребуется сначала преобразовать строку в DATE или TIMESTAMP.
▪️Ошибки валидации и формата. Строки не защищены от неверных данных. Например, можно ввести '2023-13-01' или '2023-02-30', и система их примет, хотя это некорректные даты. Тип данных DATE сразу бы отклонил такие значения.
❗️ Когда стоит использовать строковый формат для дат?
Если вы работаете с системами, которые не поддерживают типы данных для дат или передаёте данные в текстовых файлах, строковый формат может оказаться удобным. Но в остальных случаях, особенно когда вам нужны точные операции с датами и их сортировка, лучше использовать специализированные типы данных.
Для новичков важно понимать: строковый формат может быть полезен, но лучше использовать типы данных, созданные для работы с датами, если это возможно. Это повысит точность работы и упростит управление данными.
Если работаете с датами в строковом формате, используйте маску ‘YYYY-MM-DD’, тогда проблем с интерпретацией даты, сортировкой и выполнению join возникать не будет.
🖥 Навигация по другим материалам группы.
А как вы предпочитаете хранить даты в ваших проектах дома или на работе?
Почему дату в СУБД и других хранилищах часто записывают в формате строки?
Когда я только погружался в SQL на работе, для меня было болью, если дата была записана в формате строки. Ведь везде на курсах говорят, что дату нужно хранить в DATE формате, и не иначе.
Сейчас, для меня это является уже меньшей болью, но всегда полезно иметь под рукой формулы перевода или извлечения даты (и ее частей) из строкового формата.
Давайте разберемся, какие есть плюсы и минусы в таком подходе - хранить даты в строковом формате в хранилище.
▪️Универсальность и читабельность. Формат YYYY-MM-DD (ISO 8601) стал стандартом для представления дат. Записав дату строкой, её легко понять как человеку, так и компьютеру. Это особенно важно, когда данные передаются между разными системами.
▪️Минимизация ошибок при парсинге. Системы могут по-разному интерпретировать даты, записанные в числовом формате. Например, 12/11/2023 в одной системе может означать 12 ноября, а в другой — 11 декабря. Формат строки, особенно ISO 8601, помогает избежать таких путаниц.
▪️Совместимость с разными системами. Не все базы данных или приложения умеют работать с типом DATE, особенно старые системы. Строки проще использовать при интеграции с такими системами.
▪️Неправильная сортировка. Строки сортируются по алфавиту, и это не всегда совпадает с хронологическим порядком. Например, '12/31/2023' может оказаться перед '01/01/2024', хотя по времени это не так. Если придерживаться формата YYYY-MM-DD, таких проблем не будет, но в других случаях возможны сложности.
▪️Ограниченные возможности работы с датами. В строковом формате нельзя сразу использовать встроенные функции для дат, такие как вычисление разницы между датами или извлечение дня недели. Для этого потребуется сначала преобразовать строку в DATE или TIMESTAMP.
▪️Ошибки валидации и формата. Строки не защищены от неверных данных. Например, можно ввести '2023-13-01' или '2023-02-30', и система их примет, хотя это некорректные даты. Тип данных DATE сразу бы отклонил такие значения.
Если вы работаете с системами, которые не поддерживают типы данных для дат или передаёте данные в текстовых файлах, строковый формат может оказаться удобным. Но в остальных случаях, особенно когда вам нужны точные операции с датами и их сортировка, лучше использовать специализированные типы данных.
Для новичков важно понимать: строковый формат может быть полезен, но лучше использовать типы данных, созданные для работы с датами, если это возможно. Это повысит точность работы и упростит управление данными.
Если работаете с датами в строковом формате, используйте маску ‘YYYY-MM-DD’, тогда проблем с интерпретацией даты, сортировкой и выполнению join возникать не будет.
А как вы предпочитаете хранить даты в ваших проектах дома или на работе?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👨💻5🤔3👍2 2
#мысли
💬 Мой наставник сказал мне пару дней назад, что лучше быть инженером данных с разносторонним кругозором, быть знакомым с множеством технологий, но главное - понимать, как решать поставленную задачу, находить плюсы и минусы подходов, уметь анализировать, какой из них лучше в каждой ситуации. А также не забывать коммуницировать с заказчиками и выяснять их реальную бизнес потребность.
В противном случае вы можете закопаться в одной технологии. Несомненно, вы будете мастером своего дела. Но бездумно и на автомате строить конвейеры данных и писать скрипты - впустую потраченное время.
Эту мысль сразу сложно понять. Но если ваш кругозор будет широк, а также вы будете в постоянном контакте с бизнесом, то вы не только сможете использовать лучшее решение, но и принесете бизнесу бОльшую пользу, показав разные варианты решения их задачи.
В противном случае вы можете закопаться в одной технологии. Несомненно, вы будете мастером своего дела. Но бездумно и на автомате строить конвейеры данных и писать скрипты - впустую потраченное время.
Эту мысль сразу сложно понять. Но если ваш кругозор будет широк, а также вы будете в постоянном контакте с бизнесом, то вы не только сможете использовать лучшее решение, но и принесете бизнесу бОльшую пользу, показав разные варианты решения их задачи.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12 6🔥4 2
#курсы
#путь_DE
🔥 Завершил 10-ю неделю обучения по Apache Spark!
Сегодня закрыл еще две лабораторные работы по курсу Apache Spark для Data Engineering, которые необходимы для получения сертификата с отличием — и закрыл их первым в потоке! 🚀
💡 Лаба 7: Обучение модели на тестовых данных и применение её к данным, поступающим из Kafka с помощью Spark Streaming, с записью результатов обратно в Kafka.
📊 Лаба 8: Улучшение модели и её обучение, запись результатов в индекс Elasticsearch и создание дашборда в Kibana для визуализации и мониторинга работы модели.
Остались всего пара теоретических тестов по Streaming и ML, и — заветный сертификат уже близко! 🏆
Курс оказался настоящим испытанием, не зря его называют «Путь героя». Сложные задачи, огромное количество новых знаний и опыта. Но на этом приключение не заканчивается! Впереди — внедрение знаний в реальных проектах. Как мы знаем, в IT навыки быстро теряются, если их не использовать. Так что вперед, к новым вызовам!
🔸Intro
🔸Итог 2 недель
🔸Итог 4 недель
🔸Итог 6 недель
🔸Итог 8 недель
Друзья, всех с пятницей, хороших вам выходных! А я пошел отмечать вкусным кофе ☕️
#путь_DE
🔥 Завершил 10-ю неделю обучения по Apache Spark!
Сегодня закрыл еще две лабораторные работы по курсу Apache Spark для Data Engineering, которые необходимы для получения сертификата с отличием — и закрыл их первым в потоке! 🚀
💡 Лаба 7: Обучение модели на тестовых данных и применение её к данным, поступающим из Kafka с помощью Spark Streaming, с записью результатов обратно в Kafka.
📊 Лаба 8: Улучшение модели и её обучение, запись результатов в индекс Elasticsearch и создание дашборда в Kibana для визуализации и мониторинга работы модели.
Остались всего пара теоретических тестов по Streaming и ML, и — заветный сертификат уже близко! 🏆
Курс оказался настоящим испытанием, не зря его называют «Путь героя». Сложные задачи, огромное количество новых знаний и опыта. Но на этом приключение не заканчивается! Впереди — внедрение знаний в реальных проектах. Как мы знаем, в IT навыки быстро теряются, если их не использовать. Так что вперед, к новым вызовам!
🔸Intro
🔸Итог 2 недель
🔸Итог 4 недель
🔸Итог 6 недель
🔸Итог 8 недель
Друзья, всех с пятницей, хороших вам выходных! А я пошел отмечать вкусным кофе ☕️
🔥8👏6🏆3🤩1
Нетворкинг — это невероятно важная вещь, особенно в нашем быстроразвивающемся мире. Недавно я сам в этом убедился, познакомившись с аналитиком из Тинькофф, Сашей.
Он прошел путь от стажера до миддла+ всего за два года и теперь ведет свой крутой блог про аналитику.
В его блоге есть не только полезные советы по карьере, реальные кейсы и ресурсы для прокачки аналитических навыков, но и лайфстайл, рабочие будни, мысли об индустрии и IT-культуре. Саша делится всем, что помогает ему развиваться и расти в профессии.
Аналитика — это больше, чем просто цифры, это ключ к принятию решений. Если хотите быть в теме и развиваться в мире данных — подписывайтесь на его блог!
Залетаем за полезными материалами:
Как лгать при помощи статистики — обзор книги о том, как правильно (и не очень) интерпретировать данные и где нас могут вводить в заблуждение цифры. Книга вышла еще в 1954 году, но темы остаются актуальными до сих пор.
Почему p-value = 0.05? — отличный разбор того, почему в статистике часто используют этот порог и когда его стоит менять. В бизнесе, науке и повседневной аналитике!
Он прошел путь от стажера до миддла+ всего за два года и теперь ведет свой крутой блог про аналитику.
В его блоге есть не только полезные советы по карьере, реальные кейсы и ресурсы для прокачки аналитических навыков, но и лайфстайл, рабочие будни, мысли об индустрии и IT-культуре. Саша делится всем, что помогает ему развиваться и расти в профессии.
Аналитика — это больше, чем просто цифры, это ключ к принятию решений. Если хотите быть в теме и развиваться в мире данных — подписывайтесь на его блог!
Залетаем за полезными материалами:
Как лгать при помощи статистики — обзор книги о том, как правильно (и не очень) интерпретировать данные и где нас могут вводить в заблуждение цифры. Книга вышла еще в 1954 году, но темы остаются актуальными до сих пор.
Почему p-value = 0.05? — отличный разбор того, почему в статистике часто используют этот порог и когда его стоит менять. В бизнесе, науке и повседневной аналитике!
Telegram
Сенаторов.head()
Про карьеру в IT, Data Science и Продуктовую Аналитику
Пишите в личку: @senatorous
Пишите в личку: @senatorous
👍5❤3🔥3👌1
This media is not supported in your browser
VIEW IN TELEGRAM
#база_знаний
🛠️ Культура разработки и Git: почему это важно для DE?
Если вы разработчик, скорее всего, вы используете Git — это требует сам процесс разработки. Но если вы Data Engineer, насколько тесно вы с ним работаете? Требует ли ваш рабочий процесс активного использования Git?
Я не говорю о том, чтобы просто загрузить в Git финальную версию кода для релиза, а о полноценной разработке, коммитах и code review со стороны коллег. Это не только защищает ваш код от случайных ошибок, но и помогает избежать ситуации, когда внесенные изменения ломают продакшн. 🧩
Вот это и есть культура разработки. Каждое решение стоит коммитить, оставлять историю изменений, чтобы потом можно было отследить, что и зачем менялось. Если версия в проде отличается от версии в вашем Git, могут возникнуть большие проблемы. Без контроля версий это может стать головной болью — особенно при поиске причин неисправностей и откатов. 😬
В моей предыдущей команде предпринимались слабые попытки внедрения Git, но мотивации, кажется, не хватало — "Зачем? Всё и так работает!".
Для его освоения вам достаточно создать свой репозиторий (можете даже сделать приватный, закрытый от других), и периодически выкладывать туда ваш код, учебный или код ваших проектов. Это важно, поскольку часто на собеседованиях интересуются, насколько хорошо вы дружите с Git.
Это удобно, полезно вам и коллегам. Учитесь и используйте Git как инструмент, который укрепит вашу культуру разработки!
🔗 Ссылки:
Github
Теория
Тренажер
🛠️ Культура разработки и Git: почему это важно для DE?
Если вы разработчик, скорее всего, вы используете Git — это требует сам процесс разработки. Но если вы Data Engineer, насколько тесно вы с ним работаете? Требует ли ваш рабочий процесс активного использования Git?
Я не говорю о том, чтобы просто загрузить в Git финальную версию кода для релиза, а о полноценной разработке, коммитах и code review со стороны коллег. Это не только защищает ваш код от случайных ошибок, но и помогает избежать ситуации, когда внесенные изменения ломают продакшн. 🧩
Вот это и есть культура разработки. Каждое решение стоит коммитить, оставлять историю изменений, чтобы потом можно было отследить, что и зачем менялось. Если версия в проде отличается от версии в вашем Git, могут возникнуть большие проблемы. Без контроля версий это может стать головной болью — особенно при поиске причин неисправностей и откатов. 😬
В моей предыдущей команде предпринимались слабые попытки внедрения Git, но мотивации, кажется, не хватало — "Зачем? Всё и так работает!".
Для его освоения вам достаточно создать свой репозиторий (можете даже сделать приватный, закрытый от других), и периодически выкладывать туда ваш код, учебный или код ваших проектов. Это важно, поскольку часто на собеседованиях интересуются, насколько хорошо вы дружите с Git.
Это удобно, полезно вам и коллегам. Учитесь и используйте Git как инструмент, который укрепит вашу культуру разработки!
🔗 Ссылки:
Github
Теория
Тренажер
👍11 3👌2💯2
🙂 Друзья, мне очень важно ваше мнение о том, насколько вам понятны мои материалы по инженерии данных.
Я стараюсь сделать контент доступным и интересным, особенно для новичков, но хочу быть уверен, что он понятен и полезен.
Пожалуйста, пройдите короткий опрос — это поможет мне улучшить блог.
https://forms.gle/V4a3zgP1pkBzzc6a6
Я стараюсь сделать контент доступным и интересным, особенно для новичков, но хочу быть уверен, что он понятен и полезен.
Пожалуйста, пройдите короткий опрос — это поможет мне улучшить блог.
https://forms.gle/V4a3zgP1pkBzzc6a6
👍9❤3👌3🤝1
Спасибо всем, кто принял участие в опросе! Ваша обратная связь очень важна для меня, она помогает делать контент более полезным и понятным.
Благодаря вашим ответам я увидел, на каких темах стоит сделать акцент и какие аспекты требуют более глубокого раскрытия.
Буду работать над новыми материалами, которые помогут лучше понять инструменты, используемые в Data Engineering, и разобрать их применение на реальных примерах.
Оставайтесь на связи и следите за обновлениями, а те, кто еще не прошел, уделите все пару минут вашего времени 😉
Благодаря вашим ответам я увидел, на каких темах стоит сделать акцент и какие аспекты требуют более глубокого раскрытия.
Буду работать над новыми материалами, которые помогут лучше понять инструменты, используемые в Data Engineering, и разобрать их применение на реальных примерах.
Оставайтесь на связи и следите за обновлениями, а те, кто еще не прошел, уделите все пару минут вашего времени 😉
👍9🤝3🔥2👌1
#материалы
Уровень SQL, необходимый Junior Data Engineer для входа в профессию
Знание SQL — ключевой навык для Data Engineers, и на уровне Junior важно уверенно владеть базовыми операторами, уметь писать и оптимизировать запросы для различных бизнес-задач.
🔗 В этой статье я рассмотрел примеры задач, с которыми часто сталкиваются Data Engineers, — от анализа клиентской активности до сегментации и построения профилей для маркетинга.
Эти примеры помогут вам понять, какие SQL-навыки необходимы для успешного прохождения собеседования и работы в роли Junior DE.
Уровень SQL, необходимый Junior Data Engineer для входа в профессию
Знание SQL — ключевой навык для Data Engineers, и на уровне Junior важно уверенно владеть базовыми операторами, уметь писать и оптимизировать запросы для различных бизнес-задач.
🔗 В этой статье я рассмотрел примеры задач, с которыми часто сталкиваются Data Engineers, — от анализа клиентской активности до сегментации и построения профилей для маркетинга.
Эти примеры помогут вам понять, какие SQL-навыки необходимы для успешного прохождения собеседования и работы в роли Junior DE.
👍23🔥4👏2😍1💯1👨💻1
#материалы
📊 Понимание реляционной модели данных
Реляционная модель — это важная основа, на которой строится работа с данными в большинстве современных систем управления базами данных (MySQL, PostgreSQL, Oracle и др.). Эта важная тема помогает хранить данные в виде таблиц, связанных между собой с помощью первичных и внешних ключей, обеспечивая целостность, гибкость и удобство анализа. Понимание реляционной модели критически важно для эффективной работы с данными и создания надёжных SQL-запросов.
В статье разобраны основные понятия модели: таблицы, атрибуты, кортежи, виды связей (один ко многим, многие ко многим, один к одному), а также топ российских компаний, использующих реляционную модель данных.
🔗 Об этой модели данных в статье репозитория
📊 Понимание реляционной модели данных
Реляционная модель — это важная основа, на которой строится работа с данными в большинстве современных систем управления базами данных (MySQL, PostgreSQL, Oracle и др.). Эта важная тема помогает хранить данные в виде таблиц, связанных между собой с помощью первичных и внешних ключей, обеспечивая целостность, гибкость и удобство анализа. Понимание реляционной модели критически важно для эффективной работы с данными и создания надёжных SQL-запросов.
В статье разобраны основные понятия модели: таблицы, атрибуты, кортежи, виды связей (один ко многим, многие ко многим, один к одному), а также топ российских компаний, использующих реляционную модель данных.
🔗 Об этой модели данных в статье репозитория
👍13🔥7👏2❤1
#материалы
⚙️ Когда вы освоили SQL и разобрались с реляционными базами данных, самое время переходить к автоматизации!
Можно попробовать создать простой ETL прямо на вашей машине — без сложного ПО и оркестраторов, используя только SQL и встроенный cron. Это отличное упражнение для погружения в задачи автоматизации данных, ведь такой ETL-процесс поможет вам структурировать и автоматизировать регулярные операции с данными.
В статье я рассказываю:
🔸Как настроить cron для автоматического запуска SQL-скриптов
🔸Как ETL помогает структурировать процесс обработки данных
🔸Почему этот подход полезен для начинающих специалистов
Подробнее — по ссылке на статью
Насколько вам больше нравится новый формат постов? Ответ принимается реакциями🔥
Можно попробовать создать простой ETL прямо на вашей машине — без сложного ПО и оркестраторов, используя только SQL и встроенный cron. Это отличное упражнение для погружения в задачи автоматизации данных, ведь такой ETL-процесс поможет вам структурировать и автоматизировать регулярные операции с данными.
В статье я рассказываю:
🔸Как настроить cron для автоматического запуска SQL-скриптов
🔸Как ETL помогает структурировать процесс обработки данных
🔸Почему этот подход полезен для начинающих специалистов
Подробнее — по ссылке на статью
Насколько вам больше нравится новый формат постов? Ответ принимается реакциями
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍6❤2👏2😍1
Media is too big
VIEW IN TELEGRAM
Друзья, рад представить вам свой курс по SQL на Stepik! 🎓
Что вас ждет:
✅ Основы SQL — от простых SELECT до построения витрин данных;
📚 Пошаговые уроки с видеолекциями, конспектами, понятными примерами и практическими заданиями;
💡 Удобный формат обучения с тренажерами и моей обратной связью;
📢 Выделенная закрытая группа в телеграм.
😎 Присоединяйтесь! Начнем ваш путь в Инженерию данных вместе.
P.S. Отключайте VPN при оплате.👀
Что вас ждет:
✅ Основы SQL — от простых SELECT до построения витрин данных;
📚 Пошаговые уроки с видеолекциями, конспектами, понятными примерами и практическими заданиями;
💡 Удобный формат обучения с тренажерами и моей обратной связью;
📢 Выделенная закрытая группа в телеграм.
P.S. Отключайте VPN при оплате.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👏5👍4😁2🤔2 1 1
Различные подходы загрузки данных в DWH.
🔖 В прошлом посте мы рассмотрели, как автоматизировать загрузку данных с помощью cron.
Теперь разберем три основных подхода:
1️⃣ Full Load
2️⃣ Incremental Load
3️⃣ Delta Load.
❓ Какой выбрать? Всё зависит от ваших задач и объемов данных.
В статье разберу их плюсы, минусы и области применения!
Теперь разберем три основных подхода:
В статье разберу их плюсы, минусы и области применения!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4❤3👏3👨💻1
Друзья, рад поделиться с вами крайне полезным сайтом. Он для всех, кто хочет развиваться в Data Engineering ☝🏻
👍4❤3🔥2
Forwarded from Data Engineer Jobs
Друзья, рад сообщить о запуске сайта DataEngineers.pro, созданной мною для всех, кто интересуется Data Engineering! 🚀
Когда я только начинал изучать Data Engineering, я заметил, что не хватает удобного и структурированного ресурса, который мог бы помочь новичкам развиваться в этой области. Поэтому я решил создать такой сайт.
Основная функция сайта — агрегировать учебные и другие полезные справочные материалы. Есть функция отображения вакансий, но она пока простая. Вакансии активно публикуются на моём Telegram-канале — https://t.iss.one/data_engineer_jobs
В будущем, возможно, появится Telegram-рассылка вакансий с учётом заданных пользователем параметров. Материалы сайта будут постоянно дополняться.
А пока на сайте вы найдёте:
✅ Курсы: Рекомендуемые программы обучения для начинающих.
✅ Техностек: Информация об инструментах, таких как SQL, Spark, Airflow и многих других
✅ Библиотеку ресурсов: Полезные статьи, книги, видео, подкасты и Telegram-ресурсы.
✅ Вакансии: Раздел для тех, кто ищет работу.
✅ Менторы: Найдите наставника или станьте им.
Возможно, появятся ещё какие-то интересные идеи...
Пишите мне в ЛС @storm_de, чтобы:
- Подкинуть предложения и идеи!
- Сообщить о багах на сайте.
- Попросить добавить информацию о вас как о менторе, дата-инженере, блогере, разместить вакансию и т. д.
Буду рад любым обращениям!
Также вы можете поддержать мои усилия монетой. 💙
Когда я только начинал изучать Data Engineering, я заметил, что не хватает удобного и структурированного ресурса, который мог бы помочь новичкам развиваться в этой области. Поэтому я решил создать такой сайт.
Основная функция сайта — агрегировать учебные и другие полезные справочные материалы. Есть функция отображения вакансий, но она пока простая. Вакансии активно публикуются на моём Telegram-канале — https://t.iss.one/data_engineer_jobs
В будущем, возможно, появится Telegram-рассылка вакансий с учётом заданных пользователем параметров. Материалы сайта будут постоянно дополняться.
А пока на сайте вы найдёте:
✅ Курсы: Рекомендуемые программы обучения для начинающих.
✅ Техностек: Информация об инструментах, таких как SQL, Spark, Airflow и многих других
✅ Библиотеку ресурсов: Полезные статьи, книги, видео, подкасты и Telegram-ресурсы.
✅ Вакансии: Раздел для тех, кто ищет работу.
✅ Менторы: Найдите наставника или станьте им.
Возможно, появятся ещё какие-то интересные идеи...
Пишите мне в ЛС @storm_de, чтобы:
- Подкинуть предложения и идеи!
- Сообщить о багах на сайте.
- Попросить добавить информацию о вас как о менторе, дата-инженере, блогере, разместить вакансию и т. д.
Буду рад любым обращениям!
Также вы можете поддержать мои усилия монетой. 💙
🔥18❤5👍3🤯1
👨💻 Как я подружился с командной строкой и перестал её бояться
Ещё в конце прошлого года командная строка казалась мне чем-то страшным. Черный экран и куча странных команд немного пугали. Но работа Data Engineer без CLI просто невозможна. Как раз в то время поступил на Karpov.course по своему направлению и начал активно использовать CLI.
Сначала было сложно - страх все сломать, непонимание, на каком узле ты находишься и т.п.Спустя год могу сказать — командная строка больше не пугает.
Напротив, я понял, что это один из самых удобных и мощных инструментов в арсенале инженера данных. Делюсь своим опытом и тем, как я научился её использовать.
Зачем вообще нужна командная строка?
Когда начал разбираться, понял, что без CLI сложно представить работу в этой сфере:
1. Работа с серверами. Всё, что связано с SSH, управлением файлами или настройками, делается через терминал.
2. ETL и автоматизация. Скрипты, планировщики задач, обработка данных — всё это удобнее через командную строку.
3. Инструменты Big Data. HDFS, Spark, Hive — многие из них просто требуют знаний CLI.
Как освоиться и не бояться CLI?
Первое, что помогло — это осознать, что ошибаться нормально. Сначала боялся, что случайно что-то удалю или сломаю. Но позже понял: если действовать в пределах разумного и тренироваться в безопасной среде (например, на виртуальной машине или в Docker), то ничего страшного не произойдёт.
Вот ещё несколько шагов, которые реально помогли:
1. Начал с малого
Самое простое: научился работать с файлами и папками. Использовал команды вроде ls, cd, mkdir, cp, rm. Потом добавил чуть сложнее: grep для поиска, cat для просмотра логов.
2. Записал несколько "читов"
Я завёл себе заметку с полезными командами, которые использую чаще всего. Это спасало, когда забывал синтаксис.
3. Освоил справку (man)
Когда не понимал, как работает команда, просто набирал man <команда>.
4. Буквально недавно дополнительно начал разбираться с Docker. Он оказался идеальной песочницей. Создавал контейнеры, пробовал удалять файлы, редактировать конфиги, перезагружать процессы. Если что-то шло не так — просто перезапускал контейнер.
Ключевые техники, которые освоил
1. Пайпы и перенаправления
Команды можно комбинировать:
Так я быстро анализировал логи и сохранял результат в отдельный файл.
2. Alias
Начал создавать сокращения для часто используемых команд.
Теперь вместо длинной команды просто пишу ll.
3. Автоматизация с Bash
Освоил основы скриптов. Например, вот скрипт, который удаляет файлы старше 7 дней:
4. Тренировался на реальных задачах
* Подключался к серверам через SSH.
* Скачивал логи и анализировал их.
* Автоматизировал простые задачи: от резервного копирования до мониторинга процессов.
Что я понял за это время?
Командная строка — это не враг, а инструмент. Чем больше с ней работаешь, тем проще и привычнее она становится. Если вы ещё боитесь, начните с малого, потренируйтесь в песочнице вроде Docker, заведите список полезных команд.
Сейчас я работаю с терминалом почти каждый день, и он больше не пугает. Наоборот, стало понятно, что CLI — это мощь и скорость.
А как у вас с командной строкой? Что уже умеете? Делитесь в комментариях! 🚀
Ещё в конце прошлого года командная строка казалась мне чем-то страшным. Черный экран и куча странных команд немного пугали. Но работа Data Engineer без CLI просто невозможна. Как раз в то время поступил на Karpov.course по своему направлению и начал активно использовать CLI.
Сначала было сложно - страх все сломать, непонимание, на каком узле ты находишься и т.п.Спустя год могу сказать — командная строка больше не пугает.
Напротив, я понял, что это один из самых удобных и мощных инструментов в арсенале инженера данных. Делюсь своим опытом и тем, как я научился её использовать.
Зачем вообще нужна командная строка?
Когда начал разбираться, понял, что без CLI сложно представить работу в этой сфере:
1. Работа с серверами. Всё, что связано с SSH, управлением файлами или настройками, делается через терминал.
2. ETL и автоматизация. Скрипты, планировщики задач, обработка данных — всё это удобнее через командную строку.
3. Инструменты Big Data. HDFS, Spark, Hive — многие из них просто требуют знаний CLI.
Как освоиться и не бояться CLI?
Первое, что помогло — это осознать, что ошибаться нормально. Сначала боялся, что случайно что-то удалю или сломаю. Но позже понял: если действовать в пределах разумного и тренироваться в безопасной среде (например, на виртуальной машине или в Docker), то ничего страшного не произойдёт.
Вот ещё несколько шагов, которые реально помогли:
1. Начал с малого
Самое простое: научился работать с файлами и папками. Использовал команды вроде ls, cd, mkdir, cp, rm. Потом добавил чуть сложнее: grep для поиска, cat для просмотра логов.
2. Записал несколько "читов"
Я завёл себе заметку с полезными командами, которые использую чаще всего. Это спасало, когда забывал синтаксис.
3. Освоил справку (man)
Когда не понимал, как работает команда, просто набирал man <команда>.
4. Буквально недавно дополнительно начал разбираться с Docker. Он оказался идеальной песочницей. Создавал контейнеры, пробовал удалять файлы, редактировать конфиги, перезагружать процессы. Если что-то шло не так — просто перезапускал контейнер.
Ключевые техники, которые освоил
1. Пайпы и перенаправления
Команды можно комбинировать:
cat file.txt | grep "ERROR" > errors.log
Так я быстро анализировал логи и сохранял результат в отдельный файл.
2. Alias
Начал создавать сокращения для часто используемых команд.
alias ll="ls -la"
Теперь вместо длинной команды просто пишу ll.
3. Автоматизация с Bash
Освоил основы скриптов. Например, вот скрипт, который удаляет файлы старше 7 дней:
#!/bin/bash
find /path/to/files -type f -mtime +7 -exec rm {} \;
4. Тренировался на реальных задачах
* Подключался к серверам через SSH.
* Скачивал логи и анализировал их.
* Автоматизировал простые задачи: от резервного копирования до мониторинга процессов.
Что я понял за это время?
Командная строка — это не враг, а инструмент. Чем больше с ней работаешь, тем проще и привычнее она становится. Если вы ещё боитесь, начните с малого, потренируйтесь в песочнице вроде Docker, заведите список полезных команд.
Сейчас я работаю с терминалом почти каждый день, и он больше не пугает. Наоборот, стало понятно, что CLI — это мощь и скорость.
А как у вас с командной строкой? Что уже умеете? Делитесь в комментариях! 🚀
👍28❤4🔥3👨💻2
Если вы только начинаете свой путь в Data Engineering или хотите углубить навыки работы с базами данных, есть несколько простых и эффективных способов:
🔸Установить PostgreSQL локально
🔸Попробовать облачные базы данных
🔸Освоить Docker
В статье я рассказываю о каждом варианте, делюсь плюсами, минусами, полезными советами для старта и своим опытом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5🔥3🤝1
Работаю с BI-инструментами уже 2-3 месяца и постепенно начинаю видеть, как это дополняет работу дата-инженера. Недавно разбирал интересный кейс: автоматический расчет данных, ручное обогащение и построение актуального отчета в Qlik Sense на основе SQL и оркестрации в Airflow.
🔹 Что это дало?
🎯 Вывод: Дата-инженеру полезно освоить BI и немного глубже погрузиться в потребности бизнеса. Это помогает лучше понимать конечный продукт и ценность данных, над которыми мы работаем.
А как у вас с BI? Пробовали строить отчеты или работать с визуализацией? Делитесь опытом!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4🤔3😐2👨💻2❤1
#путь_DE
🔥 Почему важно учиться на реальных кейсах?
Многие новички в Data Engineering считают, что достаточно выучить SQL-синтаксис, Spark-трансформации или теорию о хранилищах данных. Как-то давно мне запомнилась фраза: «В теории можно обойтись без практики. На практике - нельзя»
💡 Реальные кейсы — это ключ к глубокому пониманию. Почему?
1️⃣ Связь с реальной жизнью:
Часто учебные примеры слишком упрощены: одна таблица, простые запросы. В реальной работе вы столкнётесь с ситуациями, когда у вас:
• Несколько таблиц с огромным количеством данных.
• Сложные связи, которые нужно оптимизировать.
• Неоднозначные и часто непонятные требования от бизнеса.
Решая кейсы, вы учитесь справляться с этим заранее.
2️⃣ Ошибки = опыт:
На реальных задачах вы неизбежно совершите ошибки: что-то не сработает, запрос выполнится слишком долго или окажется неверным результат.
В этом и есть смысл! В курсах вы не встретитесь с таким многообразием ошибок. В свою очередь это показывает вам, какие случаи бывают. Каждая ошибка — это шанс стать сильнее и научиться.
3️⃣ Готовность к собеседованию:
HR и технические специалисты ценят кандидатов, которые не просто «знают», но и умеют применять. Если у вас есть опыт решения реальных кейсов, это ваш козырь на собеседовании.
💼 Пример:
На собеседовании вас могут спросить:
“Как бы вы организовали ETL для обработки данных о продажах?”
Если вы решали кейсы, вы уже знаете, как спроектировать процесс, выбрать инструменты и оптимизировать запросы. У вас уже есть опыт, и это сразу будет видно.
🚀 Мой совет:
Не бойтесь сложных задач. Берите кейсы, даже если они кажутся трудными. На моём курсе, помимо основ SQL, итоговый проект приближен к реальной задаче DE, чтобы вы были готовы к работе уже после обучения.
А как вы учитесь на практике? Пишите в комментариях👇
Многие новички в Data Engineering считают, что достаточно выучить SQL-синтаксис, Spark-трансформации или теорию о хранилищах данных. Как-то давно мне запомнилась фраза: «В теории можно обойтись без практики. На практике - нельзя»
💡 Реальные кейсы — это ключ к глубокому пониманию. Почему?
Часто учебные примеры слишком упрощены: одна таблица, простые запросы. В реальной работе вы столкнётесь с ситуациями, когда у вас:
• Несколько таблиц с огромным количеством данных.
• Сложные связи, которые нужно оптимизировать.
• Неоднозначные и часто непонятные требования от бизнеса.
Решая кейсы, вы учитесь справляться с этим заранее.
На реальных задачах вы неизбежно совершите ошибки: что-то не сработает, запрос выполнится слишком долго или окажется неверным результат.
В этом и есть смысл! В курсах вы не встретитесь с таким многообразием ошибок. В свою очередь это показывает вам, какие случаи бывают. Каждая ошибка — это шанс стать сильнее и научиться.
HR и технические специалисты ценят кандидатов, которые не просто «знают», но и умеют применять. Если у вас есть опыт решения реальных кейсов, это ваш козырь на собеседовании.
💼 Пример:
На собеседовании вас могут спросить:
“Как бы вы организовали ETL для обработки данных о продажах?”
Если вы решали кейсы, вы уже знаете, как спроектировать процесс, выбрать инструменты и оптимизировать запросы. У вас уже есть опыт, и это сразу будет видно.
🚀 Мой совет:
Не бойтесь сложных задач. Берите кейсы, даже если они кажутся трудными. На моём курсе, помимо основ SQL, итоговый проект приближен к реальной задаче DE, чтобы вы были готовы к работе уже после обучения.
А как вы учитесь на практике? Пишите в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4🤔3👨💻1🤝1
Какие антипаттерны вы встречали в SQL и Spark? 🤔
Вот пример из SQL:
Подзапросы вместо JOIN там, где это не нужно
Почему это плохо:
- Подзапросы могут вызываться для каждой строки, что снижает производительность.
- Логика запроса становится сложной для понимания и отладки.
🚫 Антипаттерн:
✅ Более правильно использовать JOIN:
Какие антипаттерны в SQL и Spark вы встречали?
Поделитесь своим опытом! Интересно собрать список того, чего точно не стоит делать, чтобы избежать проблем с производительностью и читаемостью кода.
Вот пример из SQL:
Подзапросы вместо JOIN там, где это не нужно
Почему это плохо:
- Подзапросы могут вызываться для каждой строки, что снижает производительность.
- Логика запроса становится сложной для понимания и отладки.
SELECT first_name, last_name,
(SELECT COUNT(*) FROM payments WHERE payments.client_id = clients.client_id) AS payment_count
FROM clients;
SELECT c.first_name, c.last_name, COUNT(p.payment_id) AS payment_count
FROM clients c
LEFT JOIN payments p ON c.client_id = p.client_id
GROUP BY c.client_id, c.first_name, c.last_name;
Какие антипаттерны в SQL и Spark вы встречали?
Поделитесь своим опытом! Интересно собрать список того, чего точно не стоит делать, чтобы избежать проблем с производительностью и читаемостью кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👌3🤝2