Depois de conversar com nossos clientes sobre o atraso na obtenção de insights analíticos de seus modelos de aprendizado de máquina baseados em Python, decidimos criar um pipeline contínuo do Python para o Couchbase Analytics que retorna insights mais rápidos em tempo real.
Introdução
Com o lançamento do Servidor Couchbase 7.0Estamos animados para lançar um novo recurso que você pode explorar em Modo Developer PreviewIntegração de UDFs do Python com o Couchbase Analytics.
O aprendizado de máquina transformou radicalmente as maneiras pelas quais as organizações entendem as necessidades de seus clientes. Os domínios de análise avançada, como a análise preditiva (rotatividade de clientes, sentimento do cliente etc.) e a modelagem financeira, estão cada vez mais dependentes do processamento de dados em escala, quase em tempo real, e da extração de insights valiosos.
Este blog abordará o processo de configuração de instâncias do Couchbase, sincronização com o repositório AnalyticsML remoto, criação dos diretórios necessários e execução dos exemplos de código necessários.
O público-alvo deste blog é qualquer pessoa casualmente interessada na interseção entre o Couchbase Server, o aprendizado de máquina, o Python e o serviço Couchbase Analytics. Há certos conceitos apresentados que esperamos que o leitor compreenda (mas não se preocupe, incluiremos links para que você se atualize). De modo geral, queremos que qualquer pessoa, mesmo que tenha um mínimo de interesse, passe por este tutorial para ver como o poder do ML pode se concentrar nos dados residentes no Couchbase usando seus algoritmos de ML para obter insights instantâneos.
Pré-requisitos e premissas:
Conhecimento/entendimento:
-
- Servidor Couchbase: https://docs.couchbase.com/server/current/learn/architecture-overview.html
- Instalação do Couchbase Server no Docker: https://docs.couchbase.com/server/current/install/getting-started-docker.html#multi-node-cluster-one-host
- Couchbase Analytics: https://docs.couchbase.com/server/current/analytics/introduction.html
- Análise de sentimento usando o Sci-kit Learn: https://scikit-learn.org/stable/tutorial/basic/tutorial.html
Configuração do ambiente:
Além disso, para seguir as etapas abaixo, você precisará de uma implementação do Couchbase em funcionamento:
-
- Um IDE Python v3.8+ de sua preferência (usarei o VSCode para este blog).
- Docker Desktop instalado em seu computador
-
1O código amostras vontade ser formatado para indicar o que deve ser incluído em seu amostra
- As amostras da linha de comando serão formatadas em itálico para indicar o que deve ser inserido
- Nos exemplos em Python, todas as bibliotecas necessárias são identificadas (sklearn é do scikit-learn). Se você não tiver essas bibliotecas, instale-as com 'pip3 install'
- Os dois conjuntos de dados usados para este blog podem ser encontrados no kaggle em (https://www.kaggle.com/stefanoleone992/rotten-tomatoes-movies-and-critic-reviews-dataset). Esses arquivos são bastante grandes, portanto, um link para eles é fornecido para que você possa baixá-los quando estiver acompanhando.
Configuração do servidor Couchbase:
Nesta seção, você instalará e configurará o Couchbase Server.
- Na linha de comando do terminal, crie os nós ("cb-analytics" e "cb"):
-
1doca executar -d --nome cb-análises couchbase:7.0.2
-
1doca executar -d --nome cb -p 8091-8096:8091-8096 -p 11210-11211:11210-11211 couchbase
-
- Para confirmar que a instância foi iniciada com êxito:
- registros do docker db1
- Se o contêiner tiver sido iniciado, a saída deverá começar com o seguinte:
-
1Início Couchbase Servidor -- Web IU disponível em http://:8091
-
- Descubra os endereços IP locais do cb e do cb-analytics:
-
1doca inspecionar --formato '{{ .NetworkSettings.IPAddress }}' cb
-
1doca inspecionar --formato '{{ .NetworkSettings.IPAddress }}' cb-análises
-
5. Ir para http:// localhost:8091 para iniciar a configuração de sua instância do couchbase e selecione 'Configurar novo clusterr' e prossiga normalmente com o Assistente de configuração:
- Os nomes do servidor Couchbase são 'cb' e 'cb-analytics' com o nome de usuário 'Administrador' e a senha 'senha'
- Depois que o cluster é inicializado no primeiro nó do Couchbase Server (cb), a próxima etapa é adicionar os nós do Couchbase Server do cb-analytics ao cluster.
- No Console da Web do Couchbase, vá para a guia Servidores e clique em ADICIONAR SERVIDOR. Isso abre a caixa de diálogo "Add Server Node" (Adicionar nó do servidor).
- No campo Hostname/IP Address, digite o endereço IP que você capturou anteriormente para cb. Clique em Add Server (Adicionar servidor) para adicionar o nó à configuração do cluster.
- Depois que o cb e o cb-analytics forem adicionados com êxito à configuração do cluster, clique em Rebalance para tornar os novos nós ativos no cluster.
- Crie dois buckets, um para "movies" e outro para "movie_reviews":
- Agora você tem um cluster do Couchbase de vários nós em execução em contêineres em um único host. Seus dois buckets e sua instância do Couchbase estão prontos para serem executados (se precisar de mais detalhes, aqui está o link para o artigo etapas em mais detalhes).
AVISO: O SERVIDOR COUCHBASE DEVE ESTAR NO MODO DE VISUALIZAÇÃO PARA DESENVOLVEDORES. A CONFIGURAÇÃO DO SERVIDOR COUCHBASE NESSE MODO É UMA ALTERAÇÃO IRRECUPERÁVEL E É ALTAMENTE RECOMENDÁVEL NÃO FAZER ESSA ALTERAÇÃO EM UM AMBIENTE DE PRODUÇÃO OU EM UM SISTEMA CRÍTICO.
A configuração do Couchbase Server no modo Developer Preview exige que você execute o seguinte em uma linha de comando.
1 |
/optar/couchbase/caixa/couchbase-cli ativar-desenvolvedor-visualização -c localhost:8091 -u Administrador \ -p senha --ativar |
Configuração do sistema de arquivos:
- Os arquivos para esse conjunto de dados de exercício e treinamento podem ser encontrados no arquivo repositório do github
- Você precisará criar uma pasta de trabalho para manter o conteúdo separado das outras atividades (ou seja, examples/AnalyticsML) e, dentro dessa pasta, precisará criar outra pasta chamada 'tubulação'.
Você só precisa configurar o ambiente necessário do Couchbase Server no Docker. Na Parte 2, configuraremos os exemplos de código necessários, importaremos a função e, por fim, executaremos a função de análise de sentimentos do Couchbase Analytics.
Quer saber mais sobre o Couchbase Analytics? Assista à sessão completa do ConnectONLINE aqui:
Agradecimentos
Agradecimentos a Anuj Kothari, um estagiário de verão em gerenciamento de produtos do serviço Couchbase Analytics, cujos esforços iniciais fizeram com que isso começasse e saísse do papel no verão passado. Agradecimentos a Idris MotiwalaGerente de produto principal do Couchbase Analytics Service e Ian Maxonengenheiro de software do Couchbase Analytics Service, por seu trabalho editorial para tornar este blog mais funcional.