
Eu tenho duas áreas de interesse. O primeiro: a sociedade de analistas de dados
preguiçosos anônimos, o segundo: a sociedade de geeks anônimos. E se está tudo bem com o segundo, então com o primeiro tudo fica mais complicado. Quando você diz às pessoas que tarefas os analistas de dados resolvem, o que elas representam? Por uma questão de experiência, ela introduziu a definição no Google e a primeira:
Um analista de dados é um especialista versátil, com conhecimento em matemática, estatística, ciência da computação, ciência da computação, negócios e economia. O analista de Big Data estuda grandes quantidades de dados contendo informações díspares, por exemplo: resultados de pesquisa, tendências de mercado, preferências do cliente, etc. A pesquisa e a análise dessas informações podem levar a novas descobertas científicas, aumentar a eficiência da empresa, novas oportunidades de geração de receita e melhor atendimento ao cliente. etc. A principal habilidade dos cientistas de dados é ver conexões lógicas no sistema de informações coletadas e, com base nisso, desenvolver determinadas soluções de negócios, modelos.
Definição de buduguru.org/profession/39 .
Especialista universal, ok. A julgar pela descrição de algo entre o Dr. Manhattan e Stephen Hawking.

No entanto, não vou entrar na semântica dessa definição, quero falar sobre o doloroso tópico dos analistas de dados (não, não aquele em que os
incômodos falam sobre a falta de dados). E se os dados forem?
E aqui vamos aos seguintes problemas:
- Quais ferramentas posso usar para estudar esses dados?
- Como converter essas matrizes de dados?
- Como armazená-los? Preciso armazená-los?
- E se houver muitas fontes e todas elas forem heterogêneas?
Ok Formamos um conjunto de problemas, mas o que fazer a seguir? Neste artigo, falarei sobre a ferramenta que nossa equipe de desenvolvimento implementou, a saber, o sistema de nuvem
iDVP.Data SaaS .
O que é isso
O iDVP.Data SaaS é uma ferramenta multifuncional para trabalhar com dados na nuvem, que permite conectar vários dados, convertê-los e enviá-los a sistemas externos, como serviços da web.
Guerra do infinito
Aqui, involuntariamente, nos cruzamos com a segunda esfera de interesses: como exemplo, eu decidi conectar dados abertos da Marvel ao
iDVP.Data SaaS . Todo mundo já assistiu a um novo filme sobre a Guerra do Infinito? Depois de assistir ao filme, não pude deixar de recordar outros conflitos em larga escala no universo Marvel, que sofreram mudanças globais na franquia. Tornou-se interessante para mim lembrar quantos personagens da linha cômica participaram da Guerra Infinita e quantos morreram nela? Para responder a essas perguntas, procurei a fonte mais confiável - o site oficial da
Marvel .

Primeiro de tudo,
vamos ao site
iDVP.Data SaaS e nos registrar.
Depois disso, chegamos à página de trabalho do usuário, onde existem áreas de trabalho com casos de demonstração de teste. Eles apresentam fluxos de dados que conectam uma fonte de dados a uma loja de dados.

Depois de examinar os casos de teste e adicionar um novo espaço de trabalho, vamos criar nosso próprio fluxo de dados. Como fontes, escolhi os seguintes dados:
- Serviço REST que retorna informações sobre todos os personagens do universo Marvel;
- Serviço REST que retorna informações sobre todos os eventos do universo Marvel;
- arquivo no formato CSV, que indica os principais participantes da guerra civil.
Etapa 1. ConectarConectamos os dados um por um:

Como resultado, obtemos três fontes de dados conectadas:

- participantes_marvel_raw - serviço;
- characters_marvel_raw - serviço;
- events_marvel_raw - arquivo no formato CSV.
Etapa 2. ConverterApós conectar os dados, criamos conjuntos de dados (Conjuntos de dados), onde realizamos as transformações necessárias (limpeza de dados, cálculos ou, por exemplo, análise de dados do JSON) usando scripts 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
Como resultado, obtemos dados analisados:

E essa cadeia de fluxos de dados:

Após conectar os dados e convertê-los, a velocidade de acesso às informações recebidas ainda pode ser baixa (devido à longa resposta da fonte ou devido à grande quantidade de dados). Aqui, o mecanismo de "materialização" (armazenamento) de dados no próprio
iDVP.Data SaaS é
acionado . O acesso aos dados armazenados é extremamente rápido, mesmo quando se trabalha com grandes volumes de informações através do uso das tecnologias BigData. Os dados salvos podem ser atualizados a qualquer momento (no todo ou em parte), bem como ajustar a programação pela qual o sistema os atualizará automaticamente.
Assim, é possível acumular dados históricos, mesmo que a própria fonte não suporte isso. A materialização também ajuda a continuar trabalhando com dados, se a fonte ficar inacessível, salvando o
iDVP.Data SaaS no sistema de arquivos.
Etapa 3. PublicarCriamos uma apresentação de dados (serviço da web), que também representa uma consulta SQL. Na mostra de dados, você pode definir os parâmetros de entrada e saída.

Depois que os data marts são criados, eles podem ser publicados em domínio público e usados em seus sistemas externos.


O serviço resultante pode ser usado para criar relatórios e aplicativos 3D, como, por exemplo, fizemos isso para visualizar os dados das
eleições 2018 .
Conclusões do PS
Primeira conclusãoLembramos da linha de quadrinhos em que a Guerra do Infinito é mencionada, e aqui está o que temos:
- 57 caracteres participaram;
- 5 não confirmado;
- 15 morreram.
Segunda conclusãoSe você precisar lidar com os dados de maneira rápida e fácil, poderá usar o sistema
iDVP.Data SaaS , atualmente em teste beta. Nossa equipe espera que, entre vocês que leram essa história até o fim, haja quem será o primeiro testador de nossa nova ferramenta.
Com ele, você pode independentemente:
- conectar-se a várias fontes;
- receber dados uniformemente de qualquer fonte;
- Executar transformações de dados ETL usando SQL
- aumentar a velocidade de processamento de dados usando as tecnologias BigData;
- analisar dados;
- fornecer dados para sistemas externos;
- realize essas operações em uma interface conveniente e simples.
Agradecemos antecipadamente o seu feedback!
Um exemplo de uso nos comentários da postagem:Estatísticas sobre comentários .