Muitos analistas de dados estatísticos e cientistas de dados usam o Linguagem de programação R para analisar seus números fora de um banco de dados. Da mesma forma, os analistas de banco de dados tentam fazer tudo no mesmo banco de dados sempre que possível para manter uma única fonte. O Couchbase oferece uma base comum para preencher a lacuna entre conjuntos de dados JSON, linguagens de consulta avançadas e conjuntos de ferramentas analíticas como o R. 

A natureza distribuída e tolerante a falhas e o esquema flexível são apenas alguns dos motivos pelos quais as empresas recorrem ao Couchbase. Para saber mais, consulte Por que as empresas usam NoSQL para fornecer produtos de última geração.

O SDK do Couchbase abrange as linguagens de programação mais populares: Java, .NET, Node.js, Go e outras. Mas não precisa fornecer uma unidade específica para o R, pois pode usar facilmente a API REST.

Nesta publicação, ressuscito um tutorial de programação em R de um blog mais antigo e vejo como o R funciona com a versão mais recente do Couchbase. Os exemplos mostram como executar uma consulta N1QL/SQL tabular nos dados JSON, bem como mapear os locais resultantes de alguns dos dados geoespaciais

O que é R?

O R preenche a necessidade de um conjunto de ferramentas gráficas e de computação estatística de código aberto semelhante a produtos proprietários como o SAS e o SPSS. Isso abrange a análise estatística e a visualização gráfica voltada especialmente para gráficos prontos para publicação para documentação científica.

O R é melhor do que o Python para análise estatística? Isso pode ser debatido, mas há muitos defensores. De fato, para muitos desenvolvedores, ele pode ser o ambiente analítico mais popular que você já viu. nunca utilizado. Em um projeto global de busca de empregos de programação em REm sua pesquisa, o autor constatou que a programação R está em quinto lugar, atrás de Python, SQL, Java e Amazon ML. Ela ficou moderadamente acima de C/C++, Tableau, Hadoop e até mesmo SAS para conjuntos de ferramentas de análise de dados estatísticos.

O ecossistema que ele gerou oferece dezenas de milhares de pacotes que adicionam análises avançadas, análises de séries temporais, recursos de visualização e muito mais. Existem vários IDEs para a criação de soluções; neste post, usarei Estúdio R (que usei facilmente pela primeira vez ao escrever este artigo).

Configuração do Couchbase

A instalação padrão do servidor Couchbase tem tudo o que é necessário para este tutorial. Sugiro instalá-lo em um único nó, de preferência no PC que você está usando com o R Studio, para que o URL de conexão seja localhost. Estou usando a versão beta do Couchbase 7.x.

Depois de instalado, configure um novo balde com o amostra de viagem conjunto de dados e crie um novo usuário que tenha acesso a esse bucket.

Configuração do R Studio

Próximo, instalar R e depois R Studio Desktop (versão gratuita) com todas as opções padrão. Após a conclusão da instalação, inicie o R Studio e selecione Tools -> Install Packages (Ferramentas -> Instalar pacotes) e instale esses quatro: httr, jsonlite, ggplot2, leaflet.

Como alternativa, você pode executar o seguinte código no console de codificação do R:

O R Studio irá embora e instalará uma série de dependências subjacentes para você. Enquanto isso, você prossegue para a próxima etapa enquanto isso é executado.

Teste de consulta N1QL no Couchbase

Antes de iniciarmos o código de programação do R, vamos testar a consulta usando a guia Query (Consulta) na janela Console da Web do Couchbase.

Se você já teve que trabalhar com JSON antes, verá como é simples consultar documentos no Couchbase usando uma sintaxe familiar.

O resultado mostra as 20 principais companhias aéreas e o número de voos que cada uma tem no banco de dados de amostra.

Codificação R Consulta N1QL

Configure seu projeto R definindo os requisitos da biblioteca na parte superior do script no console:

Para criar a consulta e lidar com as respostas de dados, criamos algumas variáveis.

Primeiro, são fornecidas as informações de conexão do Couchbase, incluindo o URL, a porta e o nome de usuário e a senha que você criou anteriormente:

Em seguida, codifique a consulta em sua própria variável também. Observe as aspas duplas com escape que são necessárias (\").

O próximo passo é configurar a solicitação HTTP:

E, em seguida, receber a resposta real da solicitação e atribuí-la a uma variável para manter os dados:

 

Couchbase R Programming SQL Query output

É isso aí! 

Visualize os resultados da consulta do Couchbase

Agora podemos ver os resultados da consulta inserindo a variável de dados:

O R-Studio, com a extensão ggplot e algumas configurações, é uma maneira simples de visualizar rapidamente os dados em uma variável:

Couchbase R Programming SQL Query chart

Agora você pode ajustar o código da consulta ou do ggplot e experimentar outras abordagens.

Mapear dados geoespaciais do Couchbase usando codificação R

O poder de alguns dos outros pacotes é incrível. Para o próximo exemplo, usamos a codificação R que aproveita o pacote Biblioteca de mapeamento da web de folhetos

Vamos alterar a consulta para listar os hotéis que aceitam animais de estimação. Como os dados do hotel incluem um objeto geográfico de latitude e longitude ("geo"), podemos facilmente criar um objeto mapa dos resultados.

Ajuste sua consulta para incluir nome, latitude e longitude, juntamente com alguns filtros simples:

Teste-o no console da Web do Couchbase e você obterá 37 resultados. Em seguida, coloque a consulta nas variáveis como antes:

Os resultados serão semelhantes a este:

Couchbase R Programming SQL Query output

Para criar o mapa, usamos o pacote de folhetos e fornecemos algumas configurações para identificar os campos a serem usados para localizar os símbolos de marcadores no mapa.

O R Studio é um excelente IDE rico em informações que permite a edição de código, console interativo e componentes de visualização integrados, incluindo o mapa, assim como o ggplot fez com o gráfico anterior. 

Couchbase R Programming SQL Query Mapping in Leaflet web map

Naturalmente, você pode expandir qualquer um dos painéis da janela de acordo:

Couchbase R Programming with Map and Leaflet Web Map

Conclusão

A flexibilidade do Couchbase e do R, com seu poderoso conjunto de pacotes de terceiros, é uma ótima combinação. Os desenvolvedores de aplicativos podem deixar os dados no banco de dados central e aproveitar o failover, o processamento distribuído, a pesquisa de texto completo e a análise de SQL. 

Enquanto isso, o mesmo banco de dados pode servir aos analistas que precisam de uma API fácil de usar para acessar os dados sem fazer várias cópias off-line.

Essa abordagem abrangente de plataforma de dados continua a atrair empresas de todos os tamanhos que precisam simplificar sua arquitetura e, ao mesmo tempo, torná-la mais estável e dimensionável.

Leitura adicional

Autor

Postado por Tyler Mitchell - Gerente sênior de marketing de produtos

Trabalha como Gerente Sênior de Marketing de Produto na Couchbase, ajudando a levar o conhecimento sobre os produtos para o centro das atenções do público e, ao mesmo tempo, apoiando nossas equipes de campo com conteúdo valioso. Sua paixão pessoal são todas as coisas geoespaciais, tendo trabalhado em GIS durante metade de sua carreira. Agora, a IA e a pesquisa vetorial estão em sua mente.

2 Comentários

  1. Obrigado por essa introdução útil. Como você envia o sinal de porcentagem, por exemplo, como em:


    where meta(d).id LIKE '%something%'

    Todas as consultas que contêm % falham, afirmando que não há declaração. Escapar com \ e duplicar %% também não parece resolver o problema. Isso é uma característica do R e não há como contornar o problema?

    1. Content-Type="application/x-www-form-urlencoded", portanto, o corpo/consulta deve ser codificado por url.

Deixar uma resposta