Как стать автором
Обновить
74.62

Data Engineering *

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

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

Внедрение AI: особенности, сложности, на что обратить внимание

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров478

На связи команда «ДатаЛаб» ГК «Автомакон». Создаём рекомендательные системы, антифрод-системы, DWH-платформы и многое другое. Давно на «ты» с искусственным интеллектом, еще до того, как это стало мейнстримом.

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

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии2

Новости

CDC на примитивах

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2K

CDC вам не "Centers for Disease Control and Prevention" а "Change data capture". В статье рассказано какие есть виды CDC и как реализовать один из CDC при помощи Debezium.

Читать далее
Всего голосов 3: ↑2.5 и ↓0.5+2
Комментарии6

Дата-майнинг: процесс, типы методики и инструменты

Время на прочтение13 мин
Количество просмотров2.1K
Дата-майнинг, в основе которого лежат научные и технологические принципы — это стратегический процесс, предназначенный для выявления паттернов, корреляций и трендов, скрывающихся под поверхностью информации.

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

Что такое дата-майнинг?


Дата-майнинг (data mining) — это процесс обработки данных для выявления паттернов, корреляций и аномалий в крупных датасетах. В нём применяются разнообразные методики статистического анализа и машинного обучения для извлечения из данных значимой информации и выводов. Компании могут использовать эти выводы для принятия обоснованных решений, прогнозирования трендов и совершенствования бизнес-стратегий.

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


Визуальное определение дата-майнинга

Этот процесс является неотъемлемой частью преобразования огромных объёмов сырых данных (структурированных, неструктурированных и частично структурированных) в ценные знания, на основании которых можно планировать свои действия.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Apache NiFi как доступный ETL инструмент: кейс применения + тестовый стенд Docker

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров895

В статье расскажу о практических аспектах использования Apache NiFi, опишу преимущества и проблемы, с которыми я столкнулся.

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

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии7

Open Data Access Layer — замена для AWS S3 SDK?

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров9.3K

Всем привет. Сегодня я хочу рассказать про относительно новый продукт в стеке Apache Software Foundation для инженерии данных — OpenDAL.

Читать далее
Всего голосов 4: ↑4.5 и ↓-0.5+5
Комментарии3

Unit-тестирование Flink-операторов, Job: Flink MiniCluster

Время на прочтение10 мин
Количество просмотров576

Привет, Хабр! С вами вновь Александр Бобряков, техлид в команде МТС Аналитики. И я с очередной статьёй из цикла про фреймворк Apache Flink.

В предыдущей части я рассказал, как тестировать stateless- и stateful-операторы Flink с использованием вспомогательных TestHarness-абстракций, предоставляемых Flink.

В этой статье напишем тесты на всю джобу с использованием мини-кластера Flink и при помощи JUnit Extension. Ещё мы начнём выделять удобные вспомогательные абстракции для тестов, которые понадобятся позже.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Рулим запуском Spark-приложений в Airflow с помощью самописного оператора

Уровень сложностиСложный
Время на прочтение16 мин
Количество просмотров1.7K

Airflow в Lamoda Tech играет роль оркестратора процессов обработки данных. Ежедневно с его помощью мы запускаем 1 800+ тасок на проде, примерно половина из которых являются Spark-приложениями.

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

Меня зовут Андрей Булгаков, я лид команды разработчиков Big Data в Lamoda Tech. Вместе с разработчиком Иваном Васенковым в этой статье мы поделимся историей создания Airflow-оператора для запуска Spark-приложений.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии0

Как использовать Apache Ignite как in-memory caching layer для ускорения доступа к данным

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров76

Привет, Хабр!

Apache Ignite - это высокопроизводительная, распределённая in-memory платформа, которая предназначена для хранения и обработки больших объёмов данных с ультранизкой задержкой. Основная фича Ignite заключается в его способности обеспечивать молниеносный доступ к данным, распределённым по горизонтально масштабируемому кластеру.

Читать далее
Всего голосов 1: ↑1.5 и ↓-0.5+2
Комментарии0

«В чем сила?» — ищем ответ среди афоризмов. Сравнение 6 моделей для векторного поиска и так ли хорош OpenAi Large

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

Сравниваем между собой качество 6 различных токенайзеров, включая новейший OpenAi Large|Small и E5 от Microsoft на задаче векторного поиска:

Ищем ответ на вопрос: В чем сила? в сборнике афоризмов и цитат.

Рассматриваются модели

text-embedding-ada-002
text-embedding-3-large
text-embedding-3-small
intfloat/multilingual-e5-large
ai-forever/ruBert-large
ai-forever/sbert_large_mt_nlu_ru

P.S. Бонусом сравнение как влияет токенайзер на качество задачи по классификации текста (30 классов).

Читать далее
Всего голосов 13: ↑14 и ↓-1+15
Комментарии4

Главные отличия PCA от UMAP и t-SNE

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

Здесь будет рассказано о главных отличиях самого старого и базового алгоритма снижения размерности - PCA от его популярных современных коллег - UMAP и t-SNE. Предполагается, что читатель уже предварительно что-то слышал про эти алгоритмы, поэтому подробного объяснения каждого из них в отдельности приведено не будет. Вместо этого будут объяснены самые важные для практики свойства этих алгоритмов и то, на какие связанные с ними подводные камни можно налететь при неосторожности. Все особенности будут описаны на примерах, с минимумом теории; те пытливые умы, что почувствуют в процессе чтения жажду математической строгости, смогут удовлетворить её в литературе, ссылки на которую будут даны по ходу дела и в конце статьи.

Читать далее
Всего голосов 36: ↑39 и ↓-3+42
Комментарии12

Data сontract: давайте попробуем договориться

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

В последнее время всё чаще и чаще натыкаюсь на термин data contract. И чтобы не отставать от трендов на рынке data engineering, решил изучить эту тему и рассмотреть тенденции. Постараемся понять, с чем его кушать и стоит ли кушать вовсе.

Читать далее
Всего голосов 32: ↑33.5 и ↓-1.5+35
Комментарии9

ABC-XYZ анализ на Python. Управление ассортиментом и схемами поставок

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров998

Управление ассортиментной матрицей и складскими запасами является нетривиальной задачей для бизнеса, требует аналитики и научного подхода к решению задачи. Одним из методов управления ассортиментом и закупками является ABC-XYZ классификация.

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

Читать далее
Всего голосов 4: ↑4.5 и ↓-0.5+5
Комментарии2

Цикл статей о Greenplum. Часть 1. GP под капотом

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.7K

Всем привет!

Как вы знаете, многие поставщики ПО ушли с российского рынка ввиду введённых санкций и многие компании столкнулись с необходимость заняться импортозамещением в кратчайшие сроки. Не стал исключением и наш заказчик. Целевой системой, на которое было принято решение мигрировать старое хранилище, стал Greenplum (далее GP) от компании Arenadata.

Этой статьей мы запускаем цикл материалов посвященных Greenplum. В рамках цикла мы разберем, как вообще устроен GP и как выглядит его архитектура. Постараемся выделить must have практики при работе с данным продуктом, а также обсудим, как можно спроектировать хранилище на GP, осуществлять мониторинг эффективности работы и многое другое. Данный цикл статей будет полезен как разработчикам БД, так и аналитикам.

Читать далее
Всего голосов 18: ↑18.5 и ↓-0.5+19
Комментарии2

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

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Validating Admission Policy: Магия кастомных политик безопасности Kubernetes

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

Рассмотрим безобидную, на первый взгляд, ситуацию. Вы развернули новый кубернетес кластер, подключили сетку и стораджи, накатили мониторинги и квоты. Казалось бы, осталось нарезать неймспейсы и передать их в пользование коллегам в разработке. Однако, вы в курсе, что разработчики будут запускать команды через kubectl, а значит, по-хорошему, надо накинуть хотя бы "базовые" ограничения на их команды, ведь только так можно оградить себя от большинства проблем в процессе предстоящей эксплуатации кластера. ...Тем не менее, каким бы сложным действием ни казалась настройка кластера, если у вас есть некоторый запас времени, то милости прошу в краткое рассуждение о возможностях кубернетес контроллеров и практических способах применения Validating Admission Policy.

ИНСТРУКЪЦЫЯ ПО НАСТРОЙКЕ КУБЪ-КЛАСТЕРА
...
шаг 998 Подключите Validating Admission Policies
шаг 999 Отдайте, наконец, кластеръ в эксплуатацию
...

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии4

AI-тренер, нейровоспитатель, ассесор, крауд и разметчик — кто все эти люди и в чем разница?

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров674

Многие компании в последнее время ввели должность «ИИ-тренера» (AI-тренера), при этом просто разметчики/ассесоры никуда не делись. Что это — просто красивая обертка нейминга над тем же самыми или что-то концептуально новое?

Давайте попробуем в этом разобраться и однозначно ответить на вопрос о различиях.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Как настроить ETL с json’ами в Apache NiFi

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.8K

Привет, Хабр! Меня зовут Сергей Евсеев, сегодня я расскажу, как в Apache NiFi настраивается ETL-пайплайн на задаче с JSON’ами. В этом мне помогут инструменты Jolt и Avro. Пост пригодится новичкам и тем, кто выбирает инструмент для решения схожей задачи.

Что делает наша команда

Команда работает с данными по рекрутингу — с любой аналитикой, которая необходима персоналу подбора сотрудников. У нас есть различные внешние или внутренние источники, из которых с помощью NiFi или Apache Spark мы забираем данные и складируем к себе в хранилище (по умолчанию Hive, но есть еще PostgreSQL и ClickHouse). Этими же инструментами мы можем брать данные из хранилищ, создавать витрины и складывать обратно, предоставлять данные внутренним клиентам или делать дашборды и давать визуализацию.

Описание задачи

У нас есть внешний сервис, на котором рекрутеры работают с подбором. Сервис может отдавать данные через свою API, а мы эти данные можем загружать и складировать в хранилище. После загрузки у нас появляется возможность отдавать данные другим командам или работать с ними самим. Итак, пришла задача — нужно загрузить через API наши данные. Дали документацию для загрузки, поехали. Идем в NiFi, создаем пайплайн для запросов к API, их трансформации и складывания в Hive. Пайплайн начинает падать, приходится посидеть, почитать документацию. Чего-то не хватает, JSON-ы идут не те, возникают сложности, которые нужно разобрать и решить.

Ответы приходят в формате JSON. Документации достаточно для начала загрузки, но для полного понимания структуры и содержимого ответа — маловато. 

Мы решили просто загружать все подряд — на месте разберемся, что нам нужно и как мы это будем грузить, потом пойдем к источникам с конкретными вопросами. Так как каждый метод API отдает свой класс данных в виде JSON, в котором содержится массив объектов этого класса, нужно построить много таких пайплайнов с обработкой разного типа JSON’ов. Еще одна сложность — объекты внутри одного и того же класса могут отличаться по набору полей и их содержимому. Это зависит от того, как, например, сотрудники подбора заполнят информацию о вакансии на этом сервисе. Этот API работает без версий, поэтому в случае добавления новых полей информацию о них мы получим только либо из данных, либо в процессе коммуникации.

Читать далее
Всего голосов 13: ↑14 и ↓-1+15
Комментарии6

Yandex Data Proc для ML: ускоряем Embedding на Spark

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров968

Меня зовут Дмитрий Курганский, я Tech Lead команды MLOps в Банки.ру.
Мы работаем над тем, чтобы грамотно организовать и ускорить этапы жизненного цикла ML. В этой статье поделюсь нашим опытом применения Embedding: от запуска Яндекс Data Proc кластера через Airflow до оптимизации этапа применения Embedding с помощью Spark.
Материал в целом будет актуален для этапа применения (inference) любых моделей для больших наборов данных, работающих в batch режиме по расписанию.

Читать далее
Всего голосов 3: ↑3.5 и ↓-0.5+4
Комментарии0

Использование открытых форматов для строительных проектов набирает обороты. Забудьте об использовании API и плагинов

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.3K

В 2024 году ни одна крупная компания в мире, работающая с CAD (BIM) данными, не получает доступ к данным из CAD (BIM) программ через API или плагины.

Все крупные компании, работающие с форматами CAD (BIM), работают с определенными SDK, а форматы, содержащие данные о строительных проектах становятся взаимозаменяемы.

Читать далее
Всего голосов 8: ↑8.5 и ↓-0.5+9
Комментарии3

[Перевод] Почему стоит начать писать собственные Spark Native Functions?

Время на прочтение5 мин
Количество просмотров579

Это мой вольный перевод статьи "Why You Should Start Writing Spark Custom Native Functions", которая вдохновила меня на некоторые собстенные изыскания по данной теме. Их результат я планирую опубликовать позже, а пока выношу на ваш суд этот перевод.

Статья на примере реализации функции по генератации UUID рассматривает, как писать Spark native функции, которые были бы "прозрачны" для Catalyst (в отличии от UDF, которые являются "черными ящиками" для него). Сравнение производительности ожидаемо показывает, что Catalyst Expressions значительно превосходят UDF при увеличении размера данных.

Кому интересно узнать, как писать Spark native функции - прошу под кат.

Читать далее
Всего голосов 6: ↑7 и ↓-1+8
Комментарии15

Как мы проанализировали 250,000 статей на VC, и поняли что делает посты успешными (возможно)

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

Привет, habr! 👋

Вы когда-нибудь задумывались, почему некоторые посты набирают тысячи просмотров, а другие остаются незамеченными? Ясно, что Content is King, но есть ли дополнительные факторы, которые влияют на успешность поста?

Мы решили не гадать, а действовать. 🔍

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

Читать далее
Всего голосов 9: ↑4 и ↓5-1
Комментарии5
1
23 ...