
У меня есть две сферы интересов. Первая: общество анонимных
Аналитик данных — это универсальный специалист, который обладает знаниями в математике, статистике, информатике, компьютерных науках, бизнесе и экономике. Аналитик 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;
- анализировать данные;
- предоставлять данные во внешние системы;
- осуществлять данные операции в удобном и простом интерфейсе.
Заранее благодарны за обратную связь!
Пример использования на комментариях к посту:
Статистика по комментариям.