Обновить
81.15

Data Engineering *

Обсуждаем вопросы сбора и подготовки данных

Сначала показывать
Порог рейтинга
Уровень сложности

Как я пришёл в дата-анализ после долгих блужданий по онлайн-курсам, маршрут со всеми тупиками и ухабами

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели53K

Привет! Меня зовут Алексей, я дата-аналитик. Четыре года назад я пришёл в дата-анализ из сферы, далековатой от IT, — пивоварения (хотя о том, что на самом деле они не так далеки, я рассказывал здесь). До того как я нашёл свою нишу, тщетно пробовал вкатиться в IT через разные курсы по Python, TensorFlow и веб-разработке. Потратил на это три года и 100 тысяч рублей, в какой-то момент выгорел ещё в процессе обучения, чуть не бросил попытки, но собрался и в итоге самостоятельно и бесплатно изучил анализ данных, который мне сразу зашёл. 

Сейчас я вижу, что многие начинающие блуждают теми же окольными путями. Поэтому решил написать про свой путь с фейлами и граблями и рассказать, что мне помогло найти своё. Надеюсь, мой текст будет полезен — добро пожаловать под кат. 

Читать далее

Как оценить объем работ по миграции хранилища данных на Arenadata DB / Greenplum: методика и пример

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели2.5K

Некоторое время назад многие российские компании, чей бизнес очень сильно завязан на обработке и анализе больших объемов данных (банки, ритейл, телеком) задумались о том, как можно уменьшить стоимость владения хранилищами данных, построенных на западных технологиях. События последнего времени только ускорили этот процесс. И сейчас количество компаний, для которых актуальна миграция существующих хранилищ данных, построенных на Oracle, MS SQL и других проприетарных СУБД, на решения открытого ПО и отечественных поставщиков, резко выросло, а СУБД GreenPlum фактически становится отраслевым стандартом в хранилищах данных.

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

Именно такую задачу поставил нам клиент – крупная торговая компания. После небольшого ознакомления с возможными методиками, выбор пал на метод COSMIC (Common Software Measurement International Consortium [1]), являющийся одной из разновидностей оценки функционального объема по функциональным точкам и выросший до стандарта ISO 19761. Плюсом в пользу СOSMIC стало разработанное консорциумом адаптированное руководство для оценки функционального объема хранилищ данных [2].

Читать далее

Искусство ETL. FAQ по Data Cooker ETL

Время на прочтение5 мин
Охват и читатели4.3K

Как и было обещано, в завершение серии ( 1 2 3 4 5 ) статей о разработке инструмента для ETL больших данных, я выкладываю выжимку ответов на вопросы.


А то статьи были в формате туториала для разработчиков таких инструментов (длинные и с высоким уровнем сложности), так что стоит рассказать более кратко и понятно для каждого.


Q. Что это такое?


A. Специализированный инструмент для а) быстрого создания ETL процессов и б) эффективного по стоимости их выполнения.


Промка: https://dcetl.ru
Исходники: https://github.com/PastorGL/datacooker-etl
Официальная группа в телеге: https://t.me/data_cooker_etl

Читать дальше →

Несовместимость Insert-only и поэтапного развертывания

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели1.2K

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

Читать далее

Переходим на Greenplum быстро

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели10K

В условиях отсутствия возможности лицензирования и поддержки иностранных вендорских решений по хранилищам данных, встал вопрос о замене этих решений на отечественное программное обеспечение, с вендорской поддержкой, находящееся в реестре российского ПО и которое не уступает по производительности и объемам хранения зарубежным аналогам, таким как Teradata, Oracle, SAP HANA. Как показал анализ, таким требованиям отвечает лишь решения, основанные на MPP СУБД на базе Greenplum, в частности Arenadata DB (ADB). Но как быстро и безболезненно начать миграцию с привычных хранилищ на open-source? Постараюсь в статье рассказать и показать, что удалось придумать в этом направлении

Читать далее

Azure Data Factory + Databricks. Миграция сценариев инициализации в Databricks из DBFS в Workspace 2023/2024

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1.4K

В этой статье поговорим о том, как сделать простой процесс загрузки данных с помощью Microsoft Azure Data Factory и Databricks в 2023/2024 году. Во второй части разберем миграцию init scripts из DBFS в Workspace в связи с новым обновлением от Databricks, если ее не сделать, то не удивляйтесь, что в конце 2023 года у вас начнут падать ADF pipelines и кластера в Databricks. 1 декабря 2023 г. Databricks отключит сценарии инициализации (init scripts) с именем кластера для всех рабочих областей. Этот тип сценария инициализации ранее считался устаревшим и не будет больше использоваться.

Читать далее

От логики и риторики до теории множеств и матанализа. Полезные материалы по Data Science и машинному обучению

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели17K

Привет, Хабр! Меня все еще зовут Ефим, и я все еще MLOps-инженер в отделе Data- и ML-продуктов Selectel. В предыдущей статье я кратко рассказал про основные ресурсы, которые могут помочь начинающему специалисту ворваться в бурлящий котел Data Science. Но после выхода материала я понял, что задача систематизации знаний гораздо сложнее, чем казалось. Настолько, что проиллюстрировать ее можно только табличкой ниже:


В этом тексте хочу исправиться: разбить знания по Data Science и машинному обучению на несколько теоретических блоков и дать больше полезных материалов. Подробности под катом!
Читать дальше →

Платформа для анализа данных за вечер

Время на прочтение11 мин
Охват и читатели9.1K

Текущее состояние российского рынка аналитических и ML-решений сложно назвать стабильным. Какие-то инструменты более недоступны, а на их место регулярно приходят новые. Причем не только вендорские, но еще и open source, а также облачные сервисы.

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

Один из набирающих популярность вариантов — собрать собственное решение, можно сказать, небольшую платформу данных. Варианты могут быть разнообразные — от разработки софта до интеграции готовых open source-элементов. Касаться первого варианта сегодня бы не хотелось, а вот второй рассмотрим подробнее.

В статье рассказываем, как всего за час (или почти) подготовить облачное окружение, создать свою небольшую платформу для анализа данных и спарсить весь Hugging Face.
Читать дальше →

Как мы решили вопрос нехватки кадров, обучив соискателей работе с Apache Spark

Время на прочтение6 мин
Охват и читатели4.8K

Привет, Хабр! На связи Т1 Цифровая Академия из Холдинга Т1. Сегодня расскажем о
том, как мы помогали клиенту справиться с нехваткой data-инженеров и увеличить темпы найма, дообучая кандидатов навыкам работы с Apache Spark на реальных задачах компании.

Читать далее

Пять подходов к созданию ad-hoc-датафреймов в PySpark

Время на прочтение7 мин
Охват и читатели2.8K


Дата-инженеры, работающие с PySpark, часто сталкиваются с задачей создать логику обработки данных. Обычно речь идет о тестировании набора классов и функций. Современные платформы данных на основе Spark подчас содержат сотни, а то и тысячи разных модульных тестов, которые помогают командам по работе с данными сохранять целостную базу кода. В ежедневные рабочие задачи дата-инженера входит создание небольших датафреймов, которые используются в модульных тестах как входные и выходные значения.
Читать дальше →

Искусство ETL. Пишем собственный движок SQL на Spark [часть 1 из 5]

Уровень сложностиСложный
Время на прочтение18 мин
Охват и читатели10K

image


В данной серии статей я подробно расскажу о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

— Евдокимов, ты что, совсем уже там кукухой поехал?! При живом-то Spark SQL! Опять ты ненормальным программированием маешься, нет бы что-то полезное делал…
— Ну-ну-ну, спокойно, спокойно. Я ещё настолько не уехал, чтобы потратить целый год на страдание полной ерундой. Речь на сей раз пойдёт не о развлекухе, а о диалекте языка, специализированном для решения целого класса задач, для которых любой существующий SQL был бы, в теории, хорошим решением, если бы не несколько серьёзных «но».


Короче, у нас будет немного не такой SQL, который вы все так хорошо знаете, но и этот вариант вы полюбите, я обещаю. Тут лучше другой вопрос задать:
— Разве кому-то нужен голый SQL-ный движок?


Нет, голый — не нужен. Так рассказывать я буду о разработке настоящего production ready инструмента, с интерактивным шеллом с подсветкой синтаксиса и автодополнением, который сможет работать в клиент-серверном режиме, и не только на кластере, но и локально. Да не монолитный, а расширяемый при помощи подключаемых функций. И с автогенератором документации впридачу. Короче, всё будет совсем по-взрослому, с рейтингом M for Mature.


В каком смысле «M for Mature»?

Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.

Читать дальше →

7 аргументов почему UUID лучше, чем автоинкрементные идентификаторы

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели38K

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

Читать далее

Руководство по масштабированию MLOps

Время на прочтение8 мин
Охват и читатели2.6K

Команды MLOps вынуждены развивать свои возможности по масштабированию ИИ. В 2022 году мы столкнулись со взрывом популярности ИИ и MLOps в бизнесе и обществе. В 2023 год ажиотаж, учитывая успех ChatGPT и развитие корпоративных моделей, будет только расти.

Столкнувшись с потребностями бизнеса, команды MLOps стремятся расширять свои мощности. Эти команды начинают 2023 год с длинного списка возможностей постановки ИИ на поток. Как мы будем масштабировать компоненты MLOps (развёртывание, мониторинг и governance)? Каковы основные приоритеты нашей команды?

AlignAI совместно с Ford Motors написали это руководство, чтобы поделиться с командами MLOps своим успешным опытом масштабирования.
Читать дальше →

Ближайшие события

Data больше не Big: как данные перестали быть большими и почему это полезно для бизнеса

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели11K

Большие данные мертвы. В той их части, которая характеризуется как “большие”. Так считает Джордан Тигани, инженер-основатель Google BigQuery, человек, который больше 10 лет рассказывал всем о пользе big data. Что он имеет в виду и что это значит для бизнеса? Давайте разбираться.

Читать далее

Таблица-справочник – генератор DAG? А что так можно было?

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели8.3K

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

В статье рассказывается как можно хранить бизнес-метрики и собирать их через DAG.

Читать далее

Как полностью устранить дублирующие записи в ClickHouse

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели12K
image

Всем привет!

Меня зовут Валерий Локтаев, я backend-разработчик сервиса биллинга в CloudMTS.

В этой статье я расскажу, как насовсем убрать дублирующие записи в ClickHouse (CH). Логичный вопрос — откуда вообще взялась проблема? Можно взять движок таблицы ReplacingMergeTree, указать ORDER BY в качестве ключа дедупликации, и CH чудесным образом удалит все дубли в базе.

ReplacingMergeTree, безусловно, отличное решение. Но представьте, что ваша задача — сделать так, чтобы в таблице дубли никогда не появлялись, даже на несколько секунд.

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

Читать дальше →

Как подружить Spark и S3 для обработки файлов

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели8.9K

Всем привет!

В этой статье мы расскажем, как нам удалось настроить взаимодействие Apache Spark и S3 для обработки больших файлов: с какими проблемами пришлось столкнуться и как нам удалось их решить.

Читать далее

Первые шаги в ML на обучающем хакатоне: обнаружение птиц на фотографиях yolov8s + sahi

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.5K

Несколько месяцев я пытался разбираться в ML и когда мне под руку попался легенький хакатон для школьников, связанный с CV, я решил, что это мой шанс!

Изучая задачу, я понял, что мне нужно обнаруживать чаек по фотографиям. Для решения задачи я решил использовать yolov8s, потому что он мне показался оптимальнейшим из линейки yolov8 для моего случая. Также, мне как-то рассказывали про sahi (Slicing Aided Hyper Inference), и я решил, что это мой шанс попробовать этот инструмент в качестве улучшения конечного результата.

Итак, у меня был датасет, включающий фотографии, уже разбитые на train, validation, test, запакованные в zip архив. Первым делом, я клонирую репозиторий для yolov8, устанавливаю и импортирую необходимые на первых парах библиотеки и распаковываю то, что нужно распаковать.

Читать далее

Неструктурированные данные: примеры, инструменты, методики и рекомендации

Время на прочтение17 мин
Охват и читатели24K
В современном построенном на данных мире организации накапливают огромные объёмы информации, позволяющие принимать важные решения и выводы. Целых 80% от этой цифровой сокровищницы представляют собой неструктурированные данные, в которых отсутствует формат и упорядоченность.

Чтобы продемонстрировать объём неструктурированных данных, мы сошлёмся на десятую ежегодную инфографику Data Never Sleeps, показывающую, какое количество данных ежеминутно генерируется в Интернете.


Сколько данных генерировалось ежеминутно в 2013 и 2022 годах. Источник: DOMO

Только представьте: в 2022 году пользователи каждую минуту отправляли 231,4 миллиона электронных писем, загружали на YouTube пятьсот часов видео и делились 66 тысячами фотографий в Instagram. Разумеется, доступ к такому огромному пулу неструктурированных данных может дать компаниям большие возможности глубже понимать своих клиентов, рынки и операции, в конечном итоге приводя к росту и успеху.

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

Строим пайплайн в sсikit-learn — пошаговое руководство

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели40K

Привет, Хабр! Меня зовут Иван Сивков, я наставник на курсе «Специалист по Data Science» в Яндекс Практикуме. В этой статье покажу, как построить пайплайн в библиотеке scikit-learn на базе встроенных инструментов и сократить количество кода при преобразовании данных. Эта статья рассчитана на новичков, которые только начинают изучать Data Science, но уже знают основные понятия.

Читать далее