быть интересны примеры, связанные с бизнес-задачами:
отправка через Fedex (https://github.com/gtaylor/python-fedex) или UPS (https://
github.com/openlabs/PyUPS);
отправка почты с помощью API stamps.com (https://github.com/jzempel/stamps);
прочтите дискуссию о применении Python для корпоративного интеллекта
(http://bit.ly/py-biz);
если кофемашины слетают с полок в Аноке, это результат действий покупателя
или полтергейст? Cubes — это веб-сервер и браузер данных Online Analytical
Processing (OLAP) (http://cubes.databrewery.org/);
OpenERP — это крупная коммерческая система Enterprise Resource Planning
(ERP) (https://www.openerp.com/), написанная с помощью Python и JavaScript,
содержащая тысячи модулей-надстроек.
Обработка бизнес-данных
Бизнес очень любит данные. К сожалению, во многих отраслях бизнеса с данными
принято обращаться очень своеобразно, словно чтобы специально усложнить вам
работу.
Электронные таблицы стали хорошим изобретением, и с течением времени
бизнес пристрастился к ним. Многие непрограммисты стали заниматься програм-
мированием, поскольку эти таблицы стали называть макросами, а не программами.
Но Вселенная постоянно расширяется, и данные пытаются выдержать ее темп. Более
старые версии Excel были ограничены 65 536 рядами, а более новые не могли обра-
ботать больше миллиона. Когда данные организаций переросли один компьютер,
ситуация стала похожа на то, как если бы штат перерос сотню человек, — внезапно
вам становятся нужны новые слои, промежуточные уровни и коммуникация.
398
Приложение Б. За работой
Программы, работающие с большим количеством данных, появились не из-за
того, что данные на одном компьютере значительно разрослись, — они стали ре-
зультатом попытки обобщить все данные, появляющиеся в бизнесе. Реляционные
базы данных обрабатывают миллионы рядов, не взрываясь при этом, но они могут
работать только с определенным количеством рядов или обновлений за раз. Старые
добрые текстовые или бинарные файлы могут занимать гигабайты памяти, но если
вам нужно обработать их все одновременно, требуется иметь достаточное количе-
ство памяти. Традиционное программное обеспечение для этого не подходит.
Компаниям вроде Google и Amazon пришлось изобрести решения, позволяющие
работать с данными такого масштаба. Netflix — это пример такого решения, создан-
ный в облаке AWS от Amazon, который использует Python для объединения RESTful
API, безопасности, развертывания и баз данных.
Извлечение, преобразование и загрузка
Подводные части айсбергов данных содержат всю работу по получению данных.
Если говорить языком бизнеса, распространенными терминами являются «извле-
чение», «преобразование», «загрузка» (extract, transform, load, ETL). Синонимы
вроде «выпас данных» могут создать впечатление, будто вы приручаете непокор-
ного зверя — такая метафора может оказаться близкой. Эта задача может показать-
ся решенной с точки зрения инженерии, но по большей части это искусство. Мы
рассмотрим науку о данных более подробно в приложении В, поскольку именно
на эту область разработчики тратят большую часть времени.
Если вы видели фильм «Волшебник страны Оз», то, помимо летающих обезьян,
должны помнить фрагмент в конце, когда добрая волшебница сказала Дороти, что