Обновить
76.26

Data Engineering *

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

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

Развертывание нескольких моделей машинного обучения на одном сервере

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

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

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

Чаще всего в таких случаях для развёртывания моделей пишут службу Flask и помещают её в контейнер Docker. Примеров одномодельных серверов машинного обучения очень много, но когда дело доходит до развёртывания нескольких моделей, у разработчика остаётся не так много доступных вариантов для решения проблемы.

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

Читать далее

Почему ваши Spark приложения медленно работают или не работают вообще. Часть 1: Управление памятью

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

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

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

В этой серии статей я хочу рассказать о некоторых наиболее распространенных причинах, по которым приложение Spark выходит из строя или замедляется. Первая и наиболее распространенная — это управление памятью.

Если бы мы заставили всех разработчиков Spark проголосовать, то условия отсутствия памяти (OOM) наверняка стали бы проблемой номер один, с которой все столкнулись. Это неудивительно, так как архитектура Spark ориентирована на память.

Некоторые причины OOM:

Need for speed. Пакетная обработка данных с TiSpark

Время на прочтение7 мин
Охват и читатели1.6K
TiSpark – это подключаемый модуль Apache Spark, который работает с платформой  TiDB  и отвечает на запросы сложной интерактивной аналитической обработки (OLAP). Этот плагин Spark широко используется для пакетной обработки больших объёмов данных и для получения аналитических инсайтов. Я старший архитектор решений в PingCAP и бывший разработчик TiSpark. В этом посте я объясню, как он работает и почему TiSpark лучше традиционных решений для пакетной обработки.

Приятного чтения!

Как предотвратить появление неверных данных в ваших идеальных конвейерах

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

Для команд специалистов DS сломанные конвейеры данных, шаткие информационные панели и пожарные учения в 5 часов утра – это норма, особенно потому, что рабочие процессы принимают всё больше и больше данных из разрозненных источников. Черпая вдохновение в разработке программного обеспечения, мы называем это явление простоем данных – но как упреждающе, в первую очередь предотвратить появление плохих данных?

В этой статье я поделюсь тремя ключевыми стратегиями, которыми пользуются некоторые лучшие компании Data Science, чтобы восстановить доверие к своим данным.
Приятного чтения!
Представьте, что у вас есть персональный ассистент, который работает круглые сутки, помогает следить за вашим самочувствием, рассказывает о возможных рисках для здоровья и подбирает индивидуальные рекомендации для физического и психологического благополучия. В Беларуси разрабатывают приложение Flo, которое должно стать таким помощником для женщин, и им уже пользуются 150 млн человек по всему миру. Постепенно к команде разработчиков присоединились люди из Литвы, Нидерландов, Великобритании и США. Под катом — история о том, как сделать целостное приложение о женском здоровье с искусственным интеллектом и вывести его на 1-ю строчку в категории «Здоровье и фитнес».
Читать дальше

Организуем платформу обработки потоковых данных из Kafka, Spark и Greenplum

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

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

Меня зовут Иван Хозяинов, а работаю в ITSumma, где изучаю и применяю технологии, связанные с большими данными, машинным обучением и аналитикой. В этой статье хочу рассказать о системе хранения и обработки данных и инструментах, которые встречаются на пути от сырых исходников до представления, удобного для последующего анализа. 

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

Читать далее...

EventNative – простой инструмент для записи потока событий в ClickHouse

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

Данные стали бесценным активом, позволяющим компаниям лучше понимать своих пользователей, прогнозировать их поведение и определять тренды. EventNative – проект с открытым исходным кодом, разработанный командой из Jitsu, который позволяет упростить сбор данных. EventNative поддерживает работу с несколькими хранилищами данных, и ClickHouse – одно из них.

В этой статье мы расскажем как настроить EventNative с ClickHouse, а также в ней приводятся советы по эксплуатации и повышению производительности и надежности.

Читать далее

Руководство по столбчатым форматам файлов в Spark и Hadoop для начинающих

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

Что из себя представляет «столбчатый формат файла»?

Этот термин часто используется, но я не уверен, что всем до конца ясно, что он означает на практике.

Определение из учебника гласит, что столбчатые (колоночные, многоколоночные, columnar) форматы файлов хранят данные по столбцам, а не по строкам. CSV, TSV, JSON и Avro — традиционные строковые форматы файлов. Файл Parquet и ORC — это столбчатые форматы файлов.

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

Читать далее

Аналитический движок Amazon Redshift + преимущества Облака

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

Аналитический движок Amazon Redshift + преимущества Облака


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


На связи Артемий Козырь из команды Аналитики, и я продолжаю знакомить вас с Wheely. В этом выпуске:


  • Основы гибких кластерных вычислений
  • Колоночное хранение и компрессия данных
  • Вместо индексов: ключи сегментации и сортировки
  • Управление доступами, правами, ресурсами
  • Интеграция с S3 или Даталейк на ровном месте
Читать дальше →

Как использовать функцию UNNEST в Google BigQuery для анализа параметров событий Google Analytics

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

Сегодня я расскажу о том, как использовать функцию `UNNEST` в Google BigQuery для анализа параметров событий и свойств пользователей, которые вы получаете вместе с данными Google Analytics.

Читать далее

Business Intelligence на больших данных — наш опыт интеграции

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

В вопросах производительности BI обычно приходится искать компромисс между скоростью работы аналитики и объемами данных, над которыми она реализована. Впрочем, существуют способы “убить двух зайцев” сразу, и сегодня я хочу поделиться нашим опытом интеграции Visiology с платформой Arenadata при построении гибридной модели работы BI.

Читать далее

Сквозная Аналитика на Azure SQL + dbt + Github Actions + Metabase

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

Title


Привет, Хабр! Меня зовут Артемий Козырь.


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


Не так давно также разгорелся интерес к сфере интернет-маркетинга и Сквозной Аналитики, и не на пустом месте. Мой друг из действующего агентства снабдил меня данными и кейсами реальных клиентов, и тут засквозило понеслось.
Получается довольно интересно: Azure SQL + dbt + Github Actions + Metabase.

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

Человек, который связывает большие информационные системы и Data Science

Время на прочтение8 мин
Охват и читатели3.1K
image Уэс МакКинни, о котором писали в Quartz как о человеке, «создавшем наиболее важный инструмент в области Data Science» (речь о пакете для анализе данных Pandas), отправляется в новое плавание – он запускает стартап под названием Ursa Computing.

По словам МакКинни, стартап будет заниматься разработкой продуктов и предоставлением услуг для ускорения работы «с данными, машинным обучением и искусственным интеллектом» для предприятий. МакКинни и его компании получили 4,9 миллиона долларов в рамках первого этапа финансирования, проведенного GV (бывшего Google Ventures). Также среди инвесторов числятся Walden International, Nepenthe, Amplify Partners, RStudio и несколько бизнес-ангелов.

Ursa Computing сосредоточится на корпоративном рынке и будет стремиться к широкому распространению Apache Arrow – независимой от языка программной платформы для разработки приложений для анализа данных. Компания будет продолжать разработку проектов в области Data Science с открытым исходным кодом, изначально созданных Ursa Labs (некоммерческая независимая лаборатория разработки, также созданная МакКинни).

Если компания добьется успеха, Ursa Computing сделает МакКинни человеком, который преодолеет разрыв между Data Science и большими информационными системами.

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

Как быть билингвом в Data Science

Время на прочтение5 мин
Охват и читатели6.7K
В этой статье я хочу продемонстрировать R Markdown — удобную надстройку для программирования вашего проекта как на R, так и на Python, позволяющую программировать некоторые элементы вашего проекта на двух языках и управлять объектами, созданными на одном языке, с помощью другого языка. Это может быть полезно потому, что:

  1. Позволяет писать код на привычном языке, но при этом использовать функции, существующие только в другом языке.
  2. Позволяет напрямую сотрудничать с коллегой, который программирует на другом языке.
  3. Даёт возможность работать с двумя языками и со временем научиться свободно владеть ими.


Приятного чтения!

Как я научила свой компьютер играть в пары используя OpenCV и Глубокое обучение

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

Немного веселья с компьютерным зрением и CNN с маленькой базой данных.

Читать далее

4 месяца борьбы за место DS джуна (перекатиться в 37 лет)

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

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

Заранее предупрежу, многие термины и сокращения будут понятны только тем, кто имеет базовые знания и какой-то опыт в Data Science и Машинном обучении.

Итак, в наличии на август 2020:

Читать далее

Как бы я сейчас объяснил молодому себе… зачем существуют требования ACID для баз данных?

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

Я – выскочка. По крайней мере, так я себя иногда ощущаю. Закончив второй курс политологии и журналистики в университете, я увидел американский рейтинг профессий по уровню оплаты труда. Журналист в этом рейтинге был на последнем месте, а на первых местах были data scientists и data engineers (политолога в этом списке, почему-то, не было). Я не знал, кто составлял этот список, и понятия не имел, кто такие эти data-челы с первых строк, но он меня впечатлил. Я бросил пить и начал проходить курсы на Coursera, а потом каким-то чудом заполучил студенческую подработку в стартапе. Так я сделал своё «войти в IT».

Когда человек, не имеющий университетской подготовки, пытается начать программировать, то он чувствует себя несчастным, который, увидев из окна солнце, вышел на улицу и попал под неожиданный в столь прекрасный день град: шаблоны проектирования, функции, классы, ООП, инкапсуляция, протоколы, потоки, ACID… Хочется прокричать, как Виктор Фёдорович в своё время:

Окно в удивительный мир баз данных...

Дата-инжиниринг в превосходных условиях

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

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

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

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

Читать далее

Как с помощью Data Science «перезагрузить» завод после незапланированного отключения

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


Приятного чтения!

DVC vs GIT. Почему GIT'а недостаточно в проектах машинного обучения

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

Содержание



Введение


Несмотря на всю пользу DVC, об этом инструменте знает катастрофически мало разработчиков. Поэтому, думаю, не лишним будет для начала вас познакомить. DVC – это open-source система контроля версий данных, которая отлично подходит для машинного обучения. И основное отличие DVC от Git’a в том, что он: во-первых, имеет более широкий и удобный инструментарий для ML-проектов; во-вторых, создан для контроля версий данных, а не кода. И по большей части здесь их основные различия заканчиваются. А далее я постараюсь описать, чем же так хорош DVC, и почему Git'а не достаточно для ML.

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