Analisando a Mídia Social e os Dados Estruturados com o InfoSphere BigInsights

Obtenha uma iniciação rápida com o BigSheets

Caso queira trabalhar com o "big data" sem ter de escrever códigos ou scripts, será interessante examinar o BigSheets. O BigSheets é uma ferramenta estilo planilha fornecida com o IBM® InfoSphere® BigInsights para analistas de negócios. É uma plataforma baseada no projeto de software livre Apache Hadoop. Este artigo ensina os conceitos básicos do uso do BigSheets para a análise da mídia social e dos dados estruturados coletados por meio de aplicativos de amostra fornecidos com o BigInsights. Você aprenderá como modelar esses dados no BigSheets, manipulá-los utilizando macros e funções integradas, criar gráficos para visualizar seu trabalho e exportar os resultados de sua análise em um dos diversos formatos de saída populares.

Cynthia M. Saracco, Senior Software Engineer, IBM

photo: Cynthia SaraccoCynthia M. Saracco trabalha com gerenciamento de banco de dados e tecnologias XML no Laboratório da IBM no Vale do Silício. Ela foi a coautora de três livros e lecionou em cursos de nível universitário sobre diversas tecnologias de software.


nível de autor Profissional do
        developerWorks

Anshul Dawra, Senior Software Engineer, IBM

Photo of Anshul DawraAnshul Dawra é engenheiro de software senior no grupo IBM Information Management no Silicon Valley Labs em San Jose, CA. Ele é arquiteto da equipe pureQuery e Extended Insight. Antes de passar a fazer parte da equipe pureQuery, ele trabalhou no design e desenvolvimento do IBM Data Server Driver para JDBC e SQLJ.



29/Jun/2012

Você já deve ter ouvido sobre o big data e seu impacto na análise dos negócios. Pode estar se perguntando quais insights sua organização pode colher da captura, processamento e gerenciamento do big data coletado de websites, sensores eletrônicos ou logs de software, juntamente com dados tradicionais que você já tem. Certamente, não há nenhuma escassez de projetos de software livre e de terceiros desenvolvidos para ajudá-lo a abordar vários aspectos de seus projetos de big data. No entanto, grande parte deles é voltada para programadores, administradores e profissionais técnicos com qualificações específicas.

E se você quiser disponibilizar o big data para analistas de negócios, líderes de linha de negócios e outras equipes que não são programadores? Vale a pena dar uma olhada no BigSheets. É uma ferramenta estilo planilha, incluída no InfoSphere BigInsights, que possibilita que não programadores explorem, manipulem e visualizem dados armazenados em seu sistema de arquivos distribuído de forma iterativa. Os aplicativos de amostra fornecidos com o BigInsights ajudam a coletar e importar dados de várias origens. Neste artigo, apresentaremos o BigSheets e dois aplicativos de amostra que o complementam.

Plano de fundo

O BigInsights é uma plataforma de software que pode ajudar empresas a descobrirem e analisarem insights de negócios ocultos em grandes volumes de uma variedade diversa de dados — geralmente ignorada ou descartada por ser muito inviável ou difícil de processar utilizando meios tradicionais.

A fim de ajudar os negócios a derivarem valor desses dados de forma eficiente, a Enterprise Edition do BigInsights contém diversos projetos de software livre, incluindo o Apache Hadoop, e uma série de tecnologias desenvolvidas pela IBM, incluindo o BigSheets. O Hadoop e seus projetos relacionados fornecem uma estrutura de software efetiva para aplicativos intensivos de dados que exploram ambientes de computação distribuída a fim de atingir a alta escalabilidade.

As tecnologias IBM enriquecem essa estrutura de software livre com software analítico, integração corporativa de software, extensões de plataformas e ferramentas. Para mais informações sobre o BigInsights, consulte Recursos. O BigSheets é uma ferramenta analítica baseada no navegador inicialmente desenvolvida pelo grupo Emerging Technologies, da IBM. Atualmente, o BigSheets é incluído no BigInsights a fim de possibilitar que usuários de negócios e não programadores explorem e analisem dados em sistemas de arquivo distribuído. Ele apresenta uma interface parecida com uma planilha a fim de que os usuários possam modelar, filtrar, combinar, explorar e planejar dados coletados de várias origens. O console da web do BigInsights inclui uma guia na parte superior para acessar o BigSheets. Consulte Recursos para mais detalhes sobre o console da web.

A Figura 1 descreve uma coleta de dados de amostra no BigSheets. Embora pareça uma planilha típica, essa coleta de dados contém dados de blogs postados em websites público e os analistas podem, inclusive, clicar nos links incluídos na coleta para visitar o site que publicou o conteúdo de origem.

Figura 1. Coleta de amostra do BigSheets com base em dados da mídia social, com links para o conteúdo de origem
Coleta de amostra do BigSheets com base em dados da mídia social, com links para o conteúdo de origem

Após a definição de uma coleta do BigSheets, um analista pode filtrar ou transformar seus dados conforme desejado. Nos bastidores, o BigSheets converte comandos do usuário, expressos por meio de uma interface gráfica, em scripts Pig executados em relação a um subconjunto dos dados subjacentes. Dessa maneira, um analista pode explorar diversas transformações de forma iterativa e eficiente. Quando estiver satisfeito, o usuário pode salvar e executar a coleta, o que faz com que o BigSheets inicie tarefas MapReduce sobre o conjunto completo de dados, grave os resultados no sistema de arquivos distribuído e exiba o conteúdo da nova coleta. Os analistas podem folhear ou manipular o conjunto completo de dados, conforme desejado.

Há uma série de aplicativos de amostra prontos complementando o BigSheets, os quais os usuários de negócios podem ativar a partir do console da web do BigInsights a fim de coletar dados de websites, sistemas de gerenciamento de banco de dados relacionais (RDBMSes), sistemas de arquivo remotos e outras fontes. Contaremos com dois desses aplicativos para o trabalho descrito aqui. No entanto, é importante perceber que programadores e administradores podem utilizar as tecnologias BigInsights para coletar, processar e preparar dados para análise subsequente do BigSheets. Essas tecnologias incluem os aplicativos Jaql, Flume, Pig, Hive, MapReduce, entre outros.

IBM Watson

O IBM Watson é um projeto de pesquisa que executa a analítica complexa para responder a perguntas apresentadas em uma linguagem natural. O software Watson consulta dados coletados de vários recursos e utiliza o Hadoop para processar esses dados sobre um cluster de servidores IBM Power 750 de forma eficiente. O IBM Watson foi utilizado pela primeira vez em 2011, em uma programa de televisão de competição, tendo vencido contra dois competidores humanos. Consulte a seção Recursos para mais detalhes sobre o IBM Watson e o programa Jeopardy!

Antes de começar, vamos revisar o cenário do aplicativo de amostra. Ele envolve a análise de dados da mídia social sobre o IBM Watson e, finalmente, junta esses dados aos dados internos simulados da IBM sobre os esforços de alcance da mídia extraídos de um DBMS relacional. A ideia é explorar a visibilidade, a cobertura e o "buzz" acerca de uma marca, serviço ou projeto proeminente — um requisito comum em diversas organizações. Não abordaremos toda a variedade de possibilidades de analítica para um aplicativo desses aqui, pois nossa intenção é simplesmente destacar como os principais aspectos do BigSheets podem ajudar os analistas a começarem rapidamente a trabalhar com o big data. No entanto, o trabalho que iremos explorar ajudará a entender o que é possível com um pequeno esforço — e, talvez, surpreender com a popularidade do IBM Watson.


Etapa 1: Reunindo seus dados

Antes de ativar o BigSheets, são necessários alguns dados para sua análise. Primeiro, focaremos na coleta de dados da mídia social.

Coletando dados da mídia social

Como se poderia esperar, a coleta e o processamento de dados extraídos de diversos sites de mídia social podem ser desafiadores, pois diferentes sites capturam informações diferentes e empregam estruturas de dados diversas. Além disso, a identificação e o rastreamento de uma ampla variedade de sites individuais podem ser demorados.

Aqui, utilizamos o aplicativo de amostra do BoardReader fornecido com o BigInsights para ativar a procura de blogs, feeds de notícias, fóruns de discussão e sites de vídeo. A Figura 2 ilustra os parâmetros de entrada fornecidos ao aplicativo BigInsights BoardReader, ativado a partir da página Aplicativos, do console da web do BigInsights. Caso não esteja familiarizado com o console da web e seu catálogo de aplicativos de amostra, consulte a seção Recursos .

Figura 2. Chamada do aplicativo BoardReader a partir do console da web do BigInsights
Chamada do aplicativo BoardReader a partir do console da web do BigInsights

Vamos revisar de forma breve os parâmetros de entrada mostrados na Figura 2. O Caminho de Resultados especifica o diretório do sistema de arquivos distribuído do Hadoop (HDFS) para a saída do aplicativo. Os parâmetros subsequentes indicam que os resultados retornados foram restringidos a um máximo de 25.000 combinações e o período de procura de 1º de janeiro de 2011 a 31 de março de 2012. O Arquivo de Propriedades faz referência à loja de credenciais do BigInsights que foi preenchida com nossa chave de licença do BoardReader. (Cada cliente deve contatar o BoardReader para obter uma chave de licença válida.) O "IBM Watson" é o assunto da nossa procura.

Após a execução do aplicativo, o sistema de arquivos distribuído contém quatro novos arquivos no diretório de saída, conforme mostrado na parte inferior da Figura 3.

Figura 3. Saída do aplicativo armazenada no BigInsights
Saída do aplicativo armazenada no BigInsights

A fim de manter as coisas simples, utilizaremos somente dados de notícias e de blogs neste artigo. Caso queira acompanhar nosso cenário do aplicativo de amostra, execute o aplicativo BoardReader com os parâmetros especificados ou faça o donwload dos dados de amostra. Observe que o donwload contém somente um subconjunto de informações que o BoardReader coleta dos feeds de notícias e de blogs. Em particular, removemos o conteúdo de texto completo/HTML de postagens e itens de notícias, bem como determinados metadados dos arquivos de amostra. Esses dados não são necessários para as tarefas analíticas abordadas aqui e queríamos manter o tamanho de cada arquivo gerenciável.

Cada arquivo retornado pelo aplicativo BoardReader está no formato JSON. É possível exibir uma pequena porção desses dados como texto na página Arquivos, do console da web do BigInsights, mas os resultados são difíceis de serem lidos. Em um momento, você verá como converter esses dados em "planilhas" ou coletas de dados do BigSheets, que são bem mais fáceis de serem exploradas. No entanto, vale ressaltar que cada arquivo contém uma estrutura JSON um pouco diferente — uma situação a ser abordada ao modelar uma coleta que une os conjuntos de dados de notícias e de blogs. Em projetos do big data, é bastante comum ter de preparar ou transformar suas estruturas de dados de alguma maneira para simplificar a análise subsequente.

Coletando dados de um DBMS relacional

Após explorar determinados aspectos desses dados da mídia social, nós os juntaremos aos dados extraídos de um DBMS relacional. Muitos projetos do big data envolvem a análise de origens de informações, como dados da mídia social, no contexto de informações corporativas existentes, incluindo dados armazenados em um DBMS relacional. O BigInsights fornece conectividade a vários data warehouses de DBMSes relacionais, incluindo o Netezza, DB2®, Informix®, Oracle, Teradata, entre outros.

Para o nosso cenário de amostra, preenchemos uma tabela do DB2 com dados simulados sobre os esforços de alcance da mídia da IBM. A junção desses dados relacionais com as informações extraídas de sites de mídia social poderia nos oferecer alguma indicação da efetividade e do alcance de vários esforços de publicidade. Embora o BigInsights forneça acesso de consulta relacional e dinâmico ao DBMS por meio de uma interface da linha de comando, utilizamos o aplicativo de amostra de Importação de Dados do console da web do BigInsights a fim de extrair os dados de interesse.

A Figura 4 ilustra os parâmetros de entrada fornecidos para esse aplicativo. O arquivo de propriedades mykeys na loja de credenciais do BigInsights contém os parâmetros de entrada do JDBC necessários para estabelecer uma conexão com o banco de dados, incluindo a URL do JDBC (por exemplo, jdbc:db2://myserver.ibm.com:50000/sample), a classe do driver JDBC (por exemplo, com.ibm.db2.jcc.DB2Driver) e o ID e a senha do usuário do DBMS. Outros parâmetros de entrada incluem uma simples instrução SQL SELECT para recuperar os dados de interesse do banco de dados de destino, o formato da saída (um arquivo de valores separados por vírgula) e o diretório de saída do BigInsights para os resultados.

Figura 4. Chamada do aplicativo de importação de dados a partir do console da web do BigInsights
Chamada do aplicativo de importação de dados a partir do console da web do BigInsights

Observe que antes de executar esse aplicativo, transferimos os arquivos do driver do DBMS adequados por upload para o diretório do sistema de arquivos distribuído (/biginsights/oozie/sharedLibraries/dbDrivers). Como o DB2 Express-C era nosso DBMS de origem, transferimos seus arquivos db2jcc4.jar e db2jcc_license_cu.jar por upload.

A fim de acompanhar o trabalho relacionado ao DBMS em nosso cenário do aplicativo de amostra, obtenha uma cópia gratuita do DB2 Express-C (consulte Recursos para um link), crie e preencha uma tabela de amostra, e execute o aplicativo BigInsights conforme descrito. Alternativamente, é possível fazer o download do arquivo CSV extraído do DB2 e transferi-lo por upload diretamente para o BigInsights.


Etapa 2: Criando coletas do BigSheets

Para começar a analisar seus dados com o BigSheets, é preciso criar coletas— estruturas parecidas com planilhas — que modelam os arquivos de interesse em seu sistema de arquivos distribuído. Para o nosso cenário, esses arquivos incluem os dados baseados em JSON reunidos pelo aplicativo BoardReader, da IBM, dados de notícias baseados em JSON reunidos pelo aplicativo BoardReader, da IBM, e dados baseados em CSV extraídos do DB2 pelo aplicativo Data Import, da IBM.

Vamos percorrer os conceitos básicos da criação de uma dessas coletas:

  1. Na página Arquivos do console da web, utilize o navegador do sistema de arquivos para selecionar o arquivo news-data.txt (consulte a Figura 3).
  2. Na área de janela à direita, selecione o botão Planilhas para alterar o formato de exibição de Texto para Planilhas. Como mostra a Figure 5, esse botão está localizado à direita da especificação Visualizando o Tamanho.
  3. Especifique o "leitor" ou o conversor do formato de dados adequado para seu arquivo. Como também indicado pela Figura 5, o BigSheets fornece diversos leitores integrados para trabalhar com formatos de dados comuns. Para esse arquivo de amostra, o leitor da Matriz do JSON é adequado.
  4. Salve sua nova coleta, nomeando-a "Watson_news."
Figura 5. Criando uma coleta com um "leitor" adequado
Criando uma coleta com um

Siga o mesmo processo para criar uma coleta separada para o arquivo blogs-data.txt, nomeando a coleta "Watson_blogs." Finalmente, crie uma terceira coleta para o arquivo CSV com os dados do DBMS selecionando os Dados de Valores Separados por Vírgula (CSV) do BigSheets como o leitor para esse arquivo. Nomeie essa coleta "Media_Contacts."

Vale ressaltar que é possível criar uma coleta com base no conteúdo de um diretório, em vez de um único arquivo. Para isso, utilize o navegador do sistema de arquivos para identificar o diretório de destino, clique no botão Planilhas na área de janela à direita e especifique o leitor adequado a ser aplicado a todos os arquivos no diretório. No entanto, o cenário do aplicativo descrito neste artigo solicita três coletas separadas, conforme descrito anteriormente.


Etapa 3: Customizando sua coleta

Muitas vezes, os analistas desejarão customizar o formato, conteúdo e a estrutura de suas coletas antes de investigar vários aspectos dos próprios dados. O BigSheets fornece uma série de macros e funções para oferecer suporte a essas atividades de preparação de dados. Nesta seção, exploraremos duas dessas opções: a eliminação de dados desnecessários excluindo colunas e a consolidação de dados de duas coletas por meio de uma única operação.

Excluindo colunas

O aplicativo BigInsights BoardReader retorna dados de notícias e blogs que preenchem várias colunas em cada coleta do BigSheets. Precisamos somente de um subconjunto dessas colunas para o trabalho analítico que discutiremos neste artigo, portanto, uma etapa inicial importante envolve a criação de novas coletas que retêm somente as colunas desejadas:

  1. Na página principal do BigSheets, abra a coleta Watson_news criada a partir do arquivo news-data.txt.
  2. Clique em Desenvolver Nova Coleta.
  3. Navegue até a coluna IsAdult, conforme mostrado na Figura 6. Clique na seta para baixo no título da coluna e Remova a coluna. Isso deve ser feito em todas as colunas na coleta, exceto Country, FeedInfo, Language, Published, SubjectHtml, Tags, Type e Url.
  4. Salve e edite, nomeando a nova coleta "Watson_news_revised." Quando solicitado, execute a coleta. Observe que uma barra de status à direita do botão Executar possibilita o monitoramento do progresso da tarefa. (Nos bastidores, o BigSheets executa scripts Pig que iniciam tarefas MapReduce quando uma coleta é executada. Como se pode imaginar, o desempenho do tempo de execução depende do volume de dados associados à sua coleta e aos recursos do sistema disponíveis.)
Figura 6. Removendo uma coluna de uma coleta
Removendo uma coluna de uma coleta

Como nós finalmente queremos consolidar os dados de notícias e de blogs em uma única coleta para análise posterior, siga a mesma abordagem para criar uma nova coleta de dados de blogs que contenha somente as colunas Country, FeedInfo, Language, Published, SubjectHtml, Tags, Type e Url. Nomeie a nova coleta de blogs "Watson_blogs_revised."

Mesclando duas coletas em uma por meio de uma operação de união

Em seguida, mescle as coletas recém-editadas (Watson_news_revised e Watson_blogs_revised) em uma única coleta que servirá como base para a exploração da abrangência do IBM Watson. Para isso, utilize o operador de união do BigSheets. Observe que ele requer que todas as planilhas tenham a mesma estrutura. Caso tenha seguido as instruções da seção anterior, você terá duas dessas coletas para mesclar, cada uma com as colunas Country, FeedInfo, Language, Published, SubjectHtml, Tags, Type e Url, nessa ordem.

Para mesclar as coletas:

  1. Abra a coleta Watson_news_revised e clique em Desenvolver Nova Coleta.
  2. Clique em Incluir planilhas > Carregar para incluir o conteúdo de outra coleta ao seu modelo funcional. (Consulte a Figura 7.) Quando solicitado, selecione a coleta Watson_blogs_revised, nomeie sua planilha "Blogs" e clique na marca de seleção verde para aplicar a operação.
    Figura 7. Preparando para carregar uma coleta para uma nova planilha
    Preparando para carregar uma coleta para uma nova planilha
  3. Inspecione sua exibição, que irá conter a nova planilha. Observe que o canto inferior esquerdo de sua coleta contém uma nova guia para ela. (Consulte a Figura 8.)
    Figura 8. Revisando uma nova planilha
    Revisando uma nova planilha
  4. Clique em Incluir planilhas > União para criar outra planilha para unir os dados de blogs aos dados de notícias. Quando solicitado, clique no menu suspenso e selecione Watson_news_revised como a planilha que será unida aos dados de blogs recém-carregados. (Consulte a Figura 9.) Clique no sinal de mais (+) ao lado da caixa e, em seguida, na marca de seleção verde na parte inferior para iniciar a união.
    Figura 9. Especificando planilhas para união
    Especificando planilhas para união
  5. Salve e saia, nomeando-a Watson_news_blogs. Execute a coleta.

Em seguida, analise os dados dessa nova coleta.


Etapa 4: Explorando uma coleta para investigar a abrangência mundial do IBM Watson

Uma área que gostaríamos de explorar envolve o interesse e a abrangência mundial do IBM Watson. Inicialmente, você pode querer classificar a coleta Watson_news_blogs em valores da coluna Country. No entanto, se inspecionar os dados, observará que muitas linhas contêm valores nulos para essa coluna. Isso ocorre com dados coletados de sites de mídia social e outras fontes. Geralmente, os dados desejados estão ausentes, obrigando os analistas a considerarem outras formas de obter insight em áreas de interesse.

Classificando registros

Grande parte de nossas entradas de blogs e notícias indica o idioma de origem, portanto, classificaremos nossos registros por idioma e tipo, a fim de nos ajudar a explorar a abrangência mundial do IBM Watson em postagens de notícias e blogs:

  1. Abra a coleta Watson_news_blogs e clique em Desenvolver Nova Coleta.
  2. No título Idioma, exponha o menu suspenso e clique em Classificar > Avançado. Quando solicitado, selecione as colunas Language e Type a partir do menu Incluir Colunas para Classificação. Altere o valor de classificação do Idioma para Decrescente e verifique se Language é a primeira coluna de classificação primária, conforme mostrado na Figura 10. Clique na seta verde para aplicar a operação com relação a um subconjunto dos seus dados.
    Figura 10. Preparando para classificar uma coleta em duas colunas, com Language como a coluna primária
    Preparando para classificar uma coleta em duas colunas, com Language como a coluna primária
  3. Inspecione os 50 registros de amostra exibidos e observe os diversos idiomas mencionados.
  4. Salve e saia de sua coleta, nomeando-a Watson_sorted. Em seguida, execute a coleta com relação ao conjunto de dados completo. Quando inspecionar os resultados retornados, você verá mais registros para idiomas específicos, como vietnamês, do que na etapa anterior.

Planejando resultados

Embora seja possível folhear sua coleta para explorar a abrangência do IBM Watson em vários idiomas, a maneira mais fácil de visualizar o "buzz" em todo o mundo pode ser projetar os resultados. Isso fornece uma visão ampla, que pode ser vir como inspiração para outros esforços exploratórios e analíticos. O BigSheets oferece suporte a uma variedade de tipos de gráfico, incluindo gráficos de barras, gráficos de pizza, nuvens de tag, entre outros. Utilizaremos um gráfico de pizza simples aqui:

  1. Com a coleta Watson_sorted aberta, clique em Incluir gráfico > Gráfico > Pizza. (A guia Incluir gráfico encontra-se no canto inferior esquerdo da coleta, ao lado da guia Resultado.)
  2. Quando for solicitado, forneça valores de sua escolha para o nome do gráfico e título. Selecione a coluna Language com o valor desejado para o gráfico, deixando o campo Contagem configurado com seu valor padrão. Reconfigure o valor limite para 12, a fim de que o gráfico de pizza reflita dados dos 12 idiomas mais recorrentes nessa coleta. Consulte a Figura 11.
    Figura 11. Parâmetros de entrada para a criação de um gráfico de pizza
    Parâmetros de entrada para a criação de um gráfico de pizza
  3. Clique no visto verde e execute o gráfico, quando for solicitado.

Como se pode esperar, o gráfico de pizza resultante indica que quase 79% dos dados de notícias e blogs coletados foram publicados em inglês. No entanto, é possível adivinhar o idioma mais popular para o IBM Watson? O gráfico de pizza ilustrado na Figura 12 indica que é o russo. É possível determinar o valor subjacente de qualquer fatia de um gráfico de pizza exibido no BigSheets passando o mouse sobre ele (nesse caso, o valor da coluna Language).

Figura 12. Medindo o interesse mundial sobre o IBM Watson por idioma, com base nos dados de notícias e blogs disponíveis
Medindo o interesse mundial sobre o IBM Watson por idioma, com base nos dados de notícias e blogs disponíveis

Limpando valores de dados

Caso passe o mouse sobre a quinta e a sexta maiores fatias do gráfico de pizza mostrado na Fig. 12 (com 2,6% e 1,9%), descobrirá que as duas são variações de chinês. Isso ilustra outra situação comum envolvendo os dados coletados de várias origens de dados, como diferentes sites de mídia social — valores de dados que possa desejar tratar como idênticos são geralmente representados de maneira um pouco diferente.

Vamos explorar como utilizar o BigSheets para alterar esses valores a fim de as variações de chinês sejam substituídas por um único valor de "Chinês":

  1. Caso necessário, abra a coleta Watson_sorted e clique no botão Editar (abaixo do nome da coleta, no canto superior esquerdo).
  2. Navegue para a coluna Language e clique na seta para baixo no título da coluna para expor o menu suspenso. Selecione Inserir Direito > Nova Coluna para criar uma nova coluna para manter os dados limpos. Quando for solicitado, nomeie a nova coluna LanguageRevised e clique no visto verde para concluir a operação.
  3. Com seu cursor posicionado na coluna LanguageRevised, insira a fórmula a seguir na caixa fx (especificação da fórmula) na parte superior da planilha: IF(SEARCH('Chin*', #Language) > 0, 'Chinese', #Language). Consulte a Figura 13.
    Figura 13. Especificando uma fórmula para derivar um valor de coluna
    Especificando uma fórmula para derivar um valor de coluna
    Essa fórmula faz com que o BigSheets procure por valores que começam com "Chin" na coluna Idioma da planilha. Quando ele encontra esses valores, escreve "Chinês" na coluna LanguageRevised; caso contrário, copia o valor encontrado na coluna Idioma para a coluna LanguageRevised. O BigInsights InfoCenter (incluído na seção Recursos ) contém detalhes sobre a definição das fórmulas do BigSheets. Clique no visto verde para aplicar a fórmula.
  4. Salve e saia do seu trabalho. Quando aparecer um aviso que os dados estão fora de sincronização, execute a definição revisada dessa coleta.
  5. Crie um novo gráfico de pizza de 12 fatias com base nos valores da coluna LanguageRevised e compare os resultados ao gráfico de pizza criado anteriormente (com base nos dados "brutos" da coluna Language). Observe que seu novo gráfico de pizza mostra que "chinês" é o segundo idioma mais comum, seguido por russo, espanhol e alemão.

Indo além: Filtrando os resultados e extraindo dados da URL

Os dados inspecionados podem provocar uma variedade de questões que requerem mais investigação. Isso é bastante típico da análise do big data, que é geralmente iterativa e exploratória por natureza. Vamos além na abrangência do IBM Watson em postagens de notícias e blogs baseados em inglês para tentar apontar a abrangência no Reino Unido.

Ao manter a natureza introdutória deste artigo, utilizaremos uma abordagem simples para a investigação desse tópico. Especificamente, derivaremos uma nova coleta a partir da coleta Watson_sorted, que retém registros em inglês com nomes de domínio terminando em ".uk" ou um valor Country "GB" (de Grã-Bretanha). A fim de alcançar isso, precisaremos utilizar o operador do Filtro do BigSheets, bem como um macro para extrair dados de host da URL a partir de uma sequência completa de URL:

  1. Abra a coleta Watson_sorted e desenvolva uma nova coleta.
  2. Inclua uma planilha que empregue a operação de Filtro.
  3. Quando for solicitado, selecione Corresponder tudo e especifique Language como inglês nos três menus suspensos, conforme mostrado na Figura 14. Em seguida, clique no visto verde para aplicar a operação a um subconjunto de dados da coleta.
    Figura 14. Filtrando com base em um valor de coluna
    Filtrando com base em um valor de coluna
  4. Salve seu trabalho (nomeie a planilha Watson_sorted_English_UK), mas não saia, pois você continuará a refinar essa coleta.
  5. Inclua outra planilha que chame um Macro. Quando for solicitado, clique em Categorias > url > URLHOST. Selecione a coluna URL da sua coleta como a coluna de destino que contém os valores da URL. (A macro lerá os valores dessa coluna e extrairá as informações de host da URL da maior sequência. Por exemplo, dado um valor de URL "http://www.georgeemsden.co.uk/2011/09/how-long-before-your-laptop-finds-a-cure-for-cancer/", a macro retornará "www.georgeemsden.co.uk" como o nome do host da URL.)
  6. Clique na guia Transportar na parte inferior da área de janela, conforme mostrado na Figura 15. Isso é importante porque possibilita a especificação de quais colunas da coleta existente deseja reter (ou "transportar").
    Figura 15. Trabalhando com a macro URLHOST
    Trabalhando com a macro URLHOST
  7. Clique em Incluir tudo para reter todas as colunas existentes e aplicar a operação. Salve seu trabalho, mas não saia.
  8. Inclua outra planilha para Filtrar mais os dados. Quando for solicitado, corresponda qualquer um dos dois critérios a seguir: "URLHOST termina em uk" e "País é GB", conforme mostrado na Figura 16. (Considerando a natureza escassa dos dados dessa coleta, precisamos corresponder qualquer uma dessas condições para detectar sites de host de URL baseados no RU.) Aplique a operação.
    Figura 16. Filtrando os dados com base em dois valores de coluna
    Filtrando os dados com base em dois valores de coluna
  9. Salve e saia da coleta e, em seguida, execute-a.

A classificação dos resultados da coluna URLHOST ou a plotagem de um gráfico possibilitará a rápida identificação de quais sites do RU na coleta resultante são mais abrangidos no IBM Watson. Por exemplo, a Figura 17 descreve um gráfico de nuvem de tag gerado para os dez melhores sites. Como em qualquer nuvem de tag do BigSheets, uma fonte maior indica mais ocorrências do valor dos dados e a rolagem sobre um valor dos dados revela o número de vezes que ele ocorreu na coleta.

Figura 17. Dez melhores sites do RU com abrangência do IBM Watson
Dez melhores sites do RU com abrangência do IBM Watson

Etapa 5: Investigando mais, combinando a mídia social e os dados estruturados

Antes de concluir essa introdução ao BigSheets, vamos explorar algumas outras áreas de interesse envolvendo nosso conjunto de dados de amostra:

  • O número de sites distintos abrangendo o IBM Watson e os 12 melhores sites em todo o mundo com abrangência do IBM Watson. A fim de alcançar isso, apresentaremos outros macros e outro tipo de gráfico.
  • Abrangência por sites que foram o assunto dos esforços do alcance da mídia da IBM. A fim de alcançar isso, reuniremos dados extraídos de um banco de dados relacional com dados da mídia social no BigInsights. (Para este artigo, criamos dados fictícios sobre o trabalho das relações públicas da IBM.)

Finalmente, discutiremos como exportar o conteúdo de uma coleta para um formato de dados popular que pode ser facilmente utilizado por aplicativos de terceiros.

Determinando a amplitude da cobertura e os 12 melhores sites

Um aspecto da avaliação da eficácia de uma campanha de alcance da mídia envolve a avaliação da amplitude da abrangência. Nesse exemplo, o BigSheets será utilizado para determinar o número de sites de notícias e de blogs distintos com abrangência do IBM Watson.

  1. Abra a coleta Watson_news_blogs e desenvolva uma nova coleta.
  2. Inclua uma planilha denominada "Hosts da Url" que utiliza a macro URLHOST para extrair o nome do host da URL a partir da sequência integral fornecida na coluna URL. Transporte somente a coluna URL. (Caso necessário, consulte as instruções na Etapa 4 para detalhes sobre a macro URLHOST.)
  3. Inclua outra planilha, aplicando o operador Distinto na planilha recém-criada.
  4. Salve e saia dessa coleta, executando-a quando solicitado. Observe que há um pouco mais de 2.800 sites distintos, conforme mostrado no canto direito inferior da Figura 18. Caso a coleta Watson_news_blogs seja aberta, você verá que há mais de 7.200 registros no total.
    Figura 18. Determinando o número de sites de host distintos
    Determinando o número de sites de host distintos

Agora que você sabe que alguns sites contém diversas postagens, é possível identificar os 12 melhores sites que contém mais postagens sobre o IBM Watson e visualizar os resultados em um gráfico de barras. Isso é fácil de ser feito e os resultados podem inclusive ser surpreendentes:

  1. Caso necessário, abra a coleta recém-criada.
  2. Clique em Incluir gráfico > Gráfico > Coluna. Forneça valores de sua escolha para o nome e o título do gráfico. Retenha os valores padrão para os eixos X e Y. Configure o Limite para 12. Aplique essas configurações e execute o gráfico. A Figura 19 ilustra os resultados. Se você esperava que um site da IBM ou patrocinado por ela estivesse entre os três melhores, esse não é o caso.
    Figura 19. Projetando os 12 melhores sites que abrangem o IBM Watson com base no número de postagens
    Projetando os 12 melhores sites que abrangem o IBM Watson com base no número de postagens

Se as URLs forem inspecionadas para os dois melhores sites, você verá que eles são variantes do bizjournals.com, indicando que é possível retornar à coleta e transformar ou limpar esses dados. Conforme mencionado, a analítica do big data geralmente requer exploração, processamento e refinamento iterativo de dados.

Finalmente, a identificação dos 12 melhores sites pode deixá-lo curioso sobre o número de postagens de cada site de host da URL. Vamos finalizar este exemplo implementando uma abordagem fácil para a obtenção dessas informações:

  1. Caso necessário, abra a coleta e a edite.
  2. Clique em Incluir Planilha > Tabela Dinâmica. Nomeie a planilha "Tabela Dinâmica", identifique a planilha de hosts da URL como a planilha de entrada e selecione URLHOST como a coluna Tabela Dinâmica. Consulte a Figura 20.
    Figura 20. Criando uma planilha Tabela Dinâmica para manter dados agregados
    Criando uma planilha Tabela Dinâmica para manter dados agregados
  3. Clique na guia Calcular na parte inferior do menu. Especifique o nome de uma nova coluna para conter os dados agregados (CountURLHOST, por exemplo) e clique no sinal de mais (+). Para o valor da nova coluna, selecione COUNT e identifique URLHOST como a coluna de destino para a operação de contagem. (Consulte a Figura 21.)
    Figura 21. Especificando os parâmetros de cálculo iniciais para sua nova planilha Tabela Dinâmica
    Especificando os parâmetros de cálculo iniciais para sua nova planilha Tabela Dinâmica
  4. Enquanto ainda está na guia Calcular, crie outra coluna denominada MergeURL para manter a lista mesclada de URLs integrais associadas aos valores de URLHOST na primeira coluna de sua coleta. Essa lista pode ser útil posteriormente. Para gerar essa lista e incluí-la como uma nova coluna na coleta resultante, clique no sinal de mais, selecione MESCLAR para o valor da nova coluna, Url como a coluna de destino e uma vírgula (,) como o separador do campo. Verifique se sua especificação de cálculo aparece como Figura 22 e aplique a operação.
    Figura 22. Incluindo um segundo cálculo à sua planilha Tabela Dinâmica
    Incluindo um segundo cálculo à sua planilha Tabela Dinâmica
  5. Se desejado, classifique os valores na coluna agregada (CountURLHOST) em ordem decrescente.
  6. Salve, saia da coleta e, em seguida, execute-a. Navegue nos resultados, um subconjunto dos quais são mostrados na Figura 23.
    Figura 23. Inspecionando dados agregados contidos em uma planilha Tabela Dinâmica
    Inspecionando dados agregados contidos em uma planilha Tabela Dinâmica

Correlacionando esforços de alcance da mídia com abrangência externa

Até agora, nosso trabalho do BigSheets envolveu somente dados coletados de sites externos. No entanto, muitos projetos do big data chamam combinações de dados externos com dados corporativos internos, como dados em um DBMS relacional. Nesta seção, você utilizará o BigSheets para reunir duas coletas: uma modelando dados da mídia social e a outra modelando dados relacionais. Reunindo essas duas coletas, será possível explorar como os esforços de alcance da mídia corporativa se correlacionam para a abrangência por websites de terceiros. Observe que os dados relacionais de amostra fornecidos como um arquivo CSV com este artigo contêm informações simuladas sobre os contatos de mídia da IBM. Segue como reunir as coletas e visualizar os resultados:

  1. Abra a coleta Watson_news_blogs e desenvolva uma nova coleta.
  2. Inclua uma planilha utilizando a macro URLHOST para extrair as informações do nome do host. Transporte todas as colunas existentes e nomeie a planilha URLHOST.
  3. Inclua outra planilha que carregue a coleta Media_Contacts desenvolvida anteriormente com base nos dados importados do RDBMS. (Essa coleta foi criada na Etapa 2.) Nomeie essa nova planilha Contatos.
  4. Renomeie a coluna final da planilha Contatos para LastContact. (Essa coluna foi gerada chamando a função SQL TIMESTAMP() com relação aos dados originais do RDBMS. Seus valores indicam quando o fornecedor da mídia de destino foi contatado pela última vez.)
  5. Inclua outra planilha que combine as planilhas URLHOST e Contacts com base nos valores das colunas URLHOST e URL, respectivamente (consulte a Figura 24). Nomeie essa nova planilha Combinar.
    Figura 24. Combinando (reunindo) dados de duas planilhas
    Combinando (reunindo) dados de duas planilhas
  6. Para facilitar a inspeção dos resultados, exclua as colunas ID e URL que se originaram da planilha Media_Contacts. Reorganize as colunas restantes a fim de que elas apareçam em uma ordem mais intuitiva, como URLHOST, NAME, Publicados, LastContact, FeedInfo, Country, Language, SubjectHtml, Tags, Type, Url.
  7. Salve a coleta e a execute. Percorra os resultados ou projete-os (se desejado) para avaliar o volume de postagens para cada site de mídia de destino. (A Figura 25 descreve um gráfico de barras horizontal que resume esses dados.)
    Figura 25. Avaliando o número de postagens sobre o IBM Watson em diversos sites
    Avaliando o número de postagens sobre o IBM Watson em diversos sites

Exportando sua coleta

Em alguns casos, os resultados de sua análise do BigSheets pode ser útil para a transmissão de aplicativos ou colegas que não são autorizados a trabalhar diretamente com o BigInsights. Felizmente, é fácil exportar uma ou mais de suas coletas em formatos de dados populares. Simplesmente abra a coleta de destino e utilize a função Exportar Como (à esquerda do botão Executar ) e selecione JSON, CSV, ATOM, RSS ou HTML como o formato de destino. Os resultados serão exibidos em seu navegador e é possível salvar sua saída no sistema de arquivos local.


Uma olhada além do básico

Até agora, é possível ter uma ideia do que o BigSheets pode fazer. Esperamos que você tenha visto como macros, funções e operadores integrados possibilitam a exploração, transformação e análise de várias formas de big data sem a composição do código em Java™ ou linguagem de script.

Embora tenhamos mantido nosso cenário simples para agilizar seu trabalho nos conceitos básicos do BigSheets, há mais sobre essa tecnologia — e tecnologias complementares do BigInsights — do que podemos abordar em um artigo introdutório. Por exemplo, muitos projetos de analítica de mídia social requerem um aprofundamento do conteúdo das postagens para avaliar o sentimento, categorizar o conteúdo, eliminar falsos positivos, etc. Esses esforços requerem a extração de contexto de dados textuais, um recurso oferecido por meio de outro componente do BigInsights que será o assunto de um artigo futuro. Felizmente, esses recursos de analítica de texto podem ser combinados ao BigSheets por meio de plug-ins customizados.

Além disso, determinadas tarefas analíticas podem requerer uma linguagem de consulta para expressar de forma fácil várias condições, processar e transformar estruturas de dados aninhados, aplicar construções de lógica condicional complexa, etc. De fato, o BigInsights inclui a Jaql, uma linguagem de consulta baseada em JSON, que programadores geralmente utilizam para ler e preparar dados para análise subsequente do BigSheets. Um artigo futuro irá explorar a Jaql.


Resumo

Este artigo explorou como o BigInsights possibilita que analistas de negócios trabalhem com o big data sem a composição do código ou dos scripts. Em particular, ele apresentou dois aplicativos de amostra para reunir dados da mídia social e do RDBMS e explicou como os analistas podem modelar, manipular, analisar, combinar e visualizar esses dados utilizando o BigSheets, uma ferramenta parecida com planilha desenvolvida para analistas de negócios. Para manter as coisas simples, este artigo explorou um subconjunto de operadores e funções do BigSheets, concentrando nos mais relevantes ao cenário do nosso aplicativo de amostra envolvendo a abrangência do IBM Watson, um projeto de pesquisa que utiliza o Apache Hadoop para executar a analítica complexa para responder a perguntas apresentadas em uma linguagem natural.

Caso esteja pronto para começar a utilizar o projeto do big data, consulte a seção Recursos para links para download de softwares, educação online e outros materiais relacionados ao BigInsights.

Agradecimentos

Nossos agradecimentos especiais a Stephen Dodd, Vice-President da Effyis Inc., por nos autorizar a disponibilizar dados de saída de amostra do BoardReader para download com este artigo. Agradecemos também a Diana Pupons-Wickham e Gary Robinson, da IBM, pela revisão deste artigo.


Download

DescriçãoNomeTamanho
Sample social media data and relational datasampleData.zip1030KB

Recursos

Aprender

Obter produtos e tecnologias

  • Teste uma cópia de avaliação do IBM InfoSphere BigInsights Basic Edition.
  • Crie seu próximo projeto de desenvolvimento com o Versão de teste do software IBM, disponível para download diretamente no developerWorks.
  • Agora é possível usar o DB2 gratuitamente. Faça o download do DB2 Express-C, uma versão gratuita do DB2 Express Edition para a comunidade que oferece os mesmos recursos de dados centrais que o DB2 Express Edition e fornece uma base sólida para desenvolver e implementar aplicativos.

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Information Management
ArticleID=823058
ArticleTitle=Analisando a Mídia Social e os Dados Estruturados com o InfoSphere BigInsights
publish-date=06292012