Читаем Роман с Data Science. Как монетизировать большие данные полностью

В Retail Rocket использовался Hive поверх Hadoop для службы технической поддержки, но запросы могли выполняться больше получаса. Поэтому требуемые ими данные были переведены в Clickhouse (колоночная база данных), и обработка запросов ускорилась в сотни раз. А скорость очень важна для интерактивных аналитических задач. Сотрудники Retail Rocket мгновенно полюбили новое решение за его скорость. Hadoop при этом остался в качестве рабочей лошадки для расчета рекомендаций.

Как данные попадают в хранилища

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

Полное обновление применяют к справочникам и состояниям на определенный момент времени (об этих типах я писал в главе 5). Выглядит оно следующим образом – данные скачиваются из источника в промежуточную таблицу или папку (staging) хранилища, и если операция прошла успешно, эти старые данные меняются на свежие. Плюсом такого типа обновления является полное соответствие данных источнику на момент скачивания. Первым минусом является время для обновления таблиц, которое напрямую зависит от размера исходных данных. Второй минус – потеря изменений после обновления данных. Представьте, что у вас есть справочник с товарами магазина, в исходной системе он всегда актуален, а в хранилище обновляется каждый день в полночь. Если какой-то товар был заведен и удален из справочника – вы этого не заметите в хранилище. Для аналитика это будет выглядеть так, будто такого товара не существовало. Заказы этого товара могли совершаться. Поэтому при анализе заказов возникнет ситуация нарушения целостности данных: в таблице этот заказ есть, в справочнике товаров – нет.

Инкрементальное обновление данных применяется для лога изменений (я писал о нем в главе 5). Конечно, можно его полностью перезагружать, но обычно это нецелесообразно из-за большого объема, а следовательно, медленной скорости обновления. Само инкрементальное обновление выглядит следующим образом: система смотрит в хранилище, какие данные были загружены последними (это может быть время или какой-то идентификатор). Далее делается запрос к источнику: «Отдай мне данные, которые поступили после момента X». После получения эти данные добавляются к старым в хранилище. Плюсом инкрементального обновления является скорость. Минусом – возможна рассинхронизация данных, когда были добавлены лишние записи, которые уже были, или, наоборот, произошла потеря данных.

Принципиально есть два типа инкрементального обновления: пакетный и потоковый.

Пакетный (batch) – данные загружаются большими блоками. Например, таблица с заказами клиентов обновляется раз в сутки в первый час ночи – происходит загрузка данных за последние сутки, и они добавляются в хранилище. Вариантов реализаций таких обновлений много – от специализированного софта до самописных систем. Я использовал оба подхода. В Ozon.ru и Wikimart.ru пользовался Microsoft Integration Services, которые входили в пакет MS SQL Server. В ней просто мышкой рисуются потоки данных между источником и хранилищем, программирования там минимум. В Retail Rocket использовалась самописная утилита без графического интерфейса, которая занималась скачиванием данных из Hadoop в ClickHouse.

Потоковый (stream) – данные загружаются по одной записи или мелкими пакетами по мере их поступления. Обычно это создается для данных, которые нужно поддерживать в «реальном времени». Если обратиться к примеру выше, то в таблицу с заказами клиентов новые заказы будут попадать по мере их появления. В таком случае будет небольшое запаздывание между созданием самого заказа и его появлением в хранилище. Оно может варьироваться от миллисекунд до часов, и это время обязательно контролируется через мониторинг.

Hadoop и MapReduce

Сначала расскажу, как появился Hadoop. К этому приложил руку Google. На мой взгляд, у этой компании есть два великих изобретения: PageRank и MapReduce. Джеффри Дин и Санджай Гемават (Jeffrey Dean и Sanjay Ghemawat) в течение четырех месяцев 2003 года разрабатывали технологию MapReduce [38]. Эта идея пришла к ним, когда они в третий раз переписывали движок Google, отвечающий за скачивание и индексацию страниц. Эти два разработчика решили важную проблему: они нашли способ скоординировать работу огромного числа зачастую ненадежных компьютеров в разных дата-центрах по всему миру. Ведь отказ одного или нескольких компьютеров потребует повторного запуска расчетов, что очень проблематично, когда мы имеем дело с тысячей машин. Но самое замечательное, что Дин и Гемават не просто нашли решение частной проблемы – они создали философию. MapReduce позволил разработчикам Google обращаться к серверам их дата-центров как к одному огромному компьютеру.

Перейти на страницу:

Все книги серии IT для бизнеса

О криптовалюте просто. Биткоин, эфириум, блокчейн, децентрализация, майнинг, ICO & Co
О криптовалюте просто. Биткоин, эфириум, блокчейн, децентрализация, майнинг, ICO & Co

Эта книга – самый быстрый способ войти в мир криптовалют и начать ими пользоваться.Вы хоть раз спрашивали себя, что такое биткоин, криптовалюта или блокчейн? А децентрализация? Как вы думаете, кто выиграл от появления интернета? Люди, которые были подготовлены к нему и стали использовать его в личных или коммерческих целях до того, как подтянулись остальные.Новая технология «блокчейн» дает аналогичную возможность. Она играет сейчас такую же роль, какую играл интернет последние 20 лет. Главный вопрос, который каждый себе задает, это «c чего мне начать?»Джулиан Хосп, соучредитель компании TenX и один из ведущих мировых экспертов по криптовалютам, просто и доступно объясняет сложные термины и дает четкую инструкцию к действию: как пользоваться криптовалютами, соблюдая правила онлайн-безопасности.У Илона Маска уже есть книга Джулиана Хоспа. А у вас?

Джулиан Хосп

Деловая литература / Маркетинг, PR, реклама / Финансы и бизнес
Роман с Data Science. Как монетизировать большие данные
Роман с Data Science. Как монетизировать большие данные

Как выжать все из своих данных? Как принимать решения на основе данных? Как организовать анализ данных (data science) внутри компании? Кого нанять аналитиком? Как довести проекты машинного обучения (machine learning) и искусственного интеллекта до топового уровня? На эти и многие другие вопросы Роман Зыков знает ответ, потому что занимается анализом данных почти двадцать лет. В послужном списке Романа – создание с нуля собственной компании с офисами в Европе и Южной Америке, ставшей лидером по применению искусственного интеллекта (AI) на российском рынке. Кроме того, автор книги создал с нуля аналитику в Ozon.ru.Эта книга предназначена для думающих читателей, которые хотят попробовать свои силы в области анализа данных и создавать сервисы на их основе. Она будет вам полезна, если вы менеджер, который хочет ставить задачи аналитике и управлять ею. Если вы инвестор, с ней вам будет легче понять потенциал стартапа. Те, кто «пилит» свой стартап, найдут здесь рекомендации, как выбрать подходящие технологии и набрать команду. А начинающим специалистам книга поможет расширить кругозор и начать применять практики, о которых они раньше не задумывались, и это выделит их среди профессионалов такой непростой и изменчивой области. Книга не содержит примеров программного кода, в ней почти нет математики.В формате PDF A4 сохранен издательский макет.

Роман Зыков

Карьера, кадры / Прочая компьютерная литература / Книги по IT

Похожие книги

Всё закончится, а ты нет. Книга силы, утешения и поддержки
Всё закончится, а ты нет. Книга силы, утешения и поддержки

«Всё закончится, а ты нет» – это книга-подорожник для тех, кто переживает темную ночь души. Для тех, кому нужна поддержка и утешение. И слова, на которые можно опереться.В новой книге Ольга Примаченко, автор бестселлеров «К себе нежно» и «С тобой я дома», рассказывает о том, за что держаться, когда земля уходит из-под ног. Как себе помочь, если приходится прощаться с тем, что дорого сердцу, – будь то человек, дом или ускользающая красота. Как прожить жизненные перемены бережно к себе – и вновь обрести опоры. Несмотря ни на что, жизнь продолжается, и в ней по-прежнему есть место мечтам, надежде и вере в лучшее.Эта книга – остров со множеством маяков, которые светят во все стороны. И каждый корабль, попавший в свой личный шторм, увидит именно тот свет, который ему нужен.В формате PDF A4 сохранён издательский дизайн.

Ольга Примаченко

Карьера, кадры / Самосовершенствование / Психотерапия и консультирование / Эзотерика / Образование и наука
Как мы меняемся (и десять причин, почему это так сложно)
Как мы меняемся (и десять причин, почему это так сложно)

Каждый из нас мечтает что-то поменять в своей жизни – избавиться от деструктивных привычек, чему-то научиться, стать более организованным или похудеть. Однако большинство так и не меняются. Психотерапевт и специалист в области психического здоровья Росс Элленхорн считает, что мы избираем неверный подход. Прежде всего нужно проанализировать, что нас удерживает от изменений. На примерах из своей практики автор подробно рассказывает о десяти основных причинах, которые не дают нам измениться. Вы сможете понять мотивы саморазрушительного поведения и вернуть веру в себя.Издание будет интересно всем, кто интересуется психологией и саморазвитием.На русском языке публикуется впервые.

Росс Элленхорн

Карьера, кадры / Управление, подбор персонала / Финансы и бизнес