
У меня есть две сферы интересов. Первая: общество анонимных
Аналитик данных — это универсальный специалист, который обладает знаниями в математике, статистике, информатике, компьютерных науках, бизнесе и экономике. Аналитик Big Data изучает большие массивы данных, содержащие разрозненную информацию, например: результаты исследований, рыночные тенденции, предпочтения клиентов и пр. Исследование и анализ такой информации может привести к новым научным открытиям, повышению эффективности работы компании, новым возможностям получения дохода, улучшению обслуживания клиентов и т.д. Основное умение специалистов по изучению данных – это видеть логические связи в системе собранной информации и на основании этого разрабатывать те или иные бизнес-решения, модели.
Определение с сайта buduguru.org/profession/39.
Универсальный специалист, окей. Судя по описанию что-то между доктором Манхэттеном и Стивеном Хокингом.

Однако не буду вдаваться в семантику этого определения, я хочу поговорить на больную тему аналитиков данных (нет, не ту, где
И тут мы переходим к вытекающим проблемам:
- С помощью каких инструментов изучать эти данные?
- Как преобразовывать эти массивы данных?
- Как хранить их? Надо ли их хранить?
- Что делать, если источников очень много, и все они гетерогенны?
Окей. Пул проблем мы сформировали, а что делать дальше? В данной статье я расскажу об инструменте, который реализовала наша команда разработки, а именно об облачной системе iDVP.Data SaaS.
Что это такое?
iDVP.Data SaaS — это многофункциональный инструмент для работы с данными в облаке, который позволяет подключать различные данные, преобразовывать их и отдавать во внешние системы, как веб-сервисы.
Война бесконечности
Тут мы невольно пересекаемся со второй сферой интересов: в качестве примера я решила подключить открытые данные Marvel к iDVP.Data SaaS. Все уже смотрели новый фильм о Войне бесконечности? Посмотрев фильм, я не могла не вспомнить и другие масштабные конфликты во вселенной Marvel, понесшие за собой глобальные изменения франшизы. Мне стало интересно вспомнить, сколько персонажей по линии комиксов участвовало в Infinity War, и сколько в ней погибло? Чтобы ответить на эти вопросы, я обратилась к самому достоверному источнику — официальному сайту Marvel.

Первым делом зайдем на сайт iDVP.Data SaaS и зарегистрируемся.
После этого мы попадаем на рабочую страницу пользователя, где есть рабочие пространства с тестовыми демо-кейсами. В них представлены потоки данных от подключения источника данных до витрины данных.

Изучив тестовые примеры и добавив новое рабочее пространство, перейдем к созданию собственного потока данных. В качестве источников я выбрала следующие данные:
- REST cервис, возвращающий информацию о всех персонажах вселенной Marvel;
- REST cервис, возвращающий информацию о всех событиях вселенной Marvel;
- файл в формате CSV, где указаны основные участники гражданской войны.
Шаг 1. Подключить
Поочередно подключаем данные:

В результате получаем три подключенных источника данных:

- participants_marvel_raw — сервис;
- characters_marvel_raw — сервис;
- events_marvel_raw — файл в формате CSV.
Шаг 2. Преобразовать
После подключения данных создаем наборы данных (Datasets), где выполняем необходимые преобразования (очистка данных, вычисления или, например, парсинг данных из JSON) при помощи SQL-скриптов.
select k.id, k.name, k.com.name as comics_name, k.ser.name as series_name, k.stor.name as stories_name, k.event.name as events_name from ( select a.id, a.name, flatten(a.comics) as com, flatten(a.series) as ser, flatten(a.stories) as stor, flatten(a.events) as event from ( select c.`data`.id as id, c.`data`.name as name, c.`data`.comics.`items` as comics, c.`data`.series.`items` as series, c.`data`.stories.`items` as stories, c.`data`.events.`items` as events from ( select t.res.`data`.`results` as `data` from ( select convert_from(a.content, 'JSON') res from `characters_marvel_raw` a ) t ) c ) a ) k
В результате получаем распарсенные данные:

И такую цепочку потоков данных:

После подключения данных и их преобразования скорость доступа к полученной информации все еще может быть низка (из-за долгого ответа источника или из-за большого объема данных). Здесь срабатывает механизм «материализации» (сохранения) данных в самой iDVP.Data SaaS. Обращение к сохраненным данным осуществляется крайне быстро даже при работе с большими объемами информации за счет использования технологий BigData. Сохраненные данные в любой момент можно обновить (полностью или частично), а также настроить расписание, по которому система будет их обновлять автоматически.
Таким образом есть возможность накапливать исторические данные, даже если сам источник этого не поддерживает. Материализация также помогает продолжать работу с данными, в случае если источник становится недоступным, за счет сохранения в файловой системе iDVP.Data SaaS.

Шаг 3. Опубликовать
Создаем витрину данных (web-сервис), которая также представляет собой SQL-запрос. В витрине данных можно определить входные и выходные параметры.

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


Полученный сервис можно использовать для построения отчетов и 3D приложений, как, например, мы это делали для визуализации данных Выборов 2018.
P.S. Выводы

Первый вывод
Мы вспомнили линейку комиксов, где упоминается Война бесконечности, и вот что получили:
- участвовало 57 персонажа;
- 5 не подтверждено;
- 15 погибло.
Второй вывод
Если нужно быстро и легко справиться с данными, то можно воспользоваться системой iDVP.Data SaaS, которая на данный момент проходит этап бета-тестирования. Наша команда надеется, что среди вас, дочитавших эту историю до конца, есть те, кто станут первыми тестировщиками нашего нового инструмента.
С его помощью вы сможете самостоятельно:
- подключаться к различным источникам;
- единообразно получать данные из любых источников;
- выполнять ETL-преобразования данных при помощи SQL;
- повышать скорость работы с данными с помощью технологий BigData;
- анализировать данные;
- предоставлять данные во внешние системы;
- осуществлять данные операции в удобном и простом интерфейсе.
Заранее благодарны за обратную связь!
Пример использования на комментариях к посту:
Статистика по комментариям.
