Aprenda como utilizar Python no Qlik Sense

O Python é uma linguagem de programação popular e versátil, que oferece muitas bibliotecas e ferramentas para análise de dados, Machine Learning (ML), visualização, processamento de linguagem natural e muito mais. Ao integrar o Python com o Qlik Sense, você pode aproveitar essas funcionalidades e enriquecer seus aplicativos Qlik com insights mais profundos e personalizados.

Neste artigo, vamos explorar como utilizar Python no Qlik Sense onde você pode integrar análise avançada e ciência de dados em seus aplicativos de Business Intelligence (BI). Vamos usar uma extensão do lado do servidor (SSE) escrita em Python para acessar diferentes bibliotecas e modelos de aprendizado de máquina. Vamos mostrar como você pode usar esse recurso para fazer coisas como:

– Aprender e aplicar modelos de aprendizado de máquina supervisionados e não supervisionados usando scikit-learn
– Criar e treinar redes neurais profundas usando Keras e TensorFlow
– Usar modelos de Machine Learning pré-treinados ou personalizados via REST
– Fazer reconhecimento de entidades nomeadas usando spaCy

Com essas técnicas, você pode enriquecer suas análises Qlik com insights baseados em dados e algoritmos modernos. Você também pode aproveitar o poder do Qlik para explorar, visualizar e interagir com os resultados dos modelos de ML. Vamos ver como isso funciona na prática.

Abordagem

Esse projeto foi desenvolvido por  Nabeel Oz, foi definido funções que expõem algoritmos de código aberto ao Qlik usando o framework gRPC. Cada função permite que o usuário defina dados de entrada e parâmetros para controlar a saída do algoritmo subjacente.

Docker

Uma imagem do Docker para qlik-py-tools está disponível no Docker Hub. Se você estiver familiarizado com a conteinerização, essa é a maneira mais simples de executar esse SSE em seu ambiente.

Se você quiser instalar esse SSE localmente em uma máquina Windows, vá para a seção Pré-requisitos.

Para extrair a imagem do registro público do Docker, use o comando abaixo:

docker pull nabeeloz/qlik-py-tools

A imagem usa a porta 50055 por padrão:

docker run -p 50055:50055 -it nabeeloz/qlik-py-tools

Os contêineres criados com essa imagem retêm dados apenas enquanto estão em execução. Isso significa que, para persistir modelos treinados ou arquivos de log, você precisará adicionar um volume ou vincular a montagem usando os recursos do Docker para gerenciar dados.

# Store predictive models to a Docker volume on the host machine
docker run -p 50055:50055 -it -v pytools-models:/qlik-py-tools/models nabeeloz/qlik-py-tools


# Store log files to a bind mount on the host machine
docker run -p 50055:50055 -it -v ~/Documents/logs:/qlik-py-tools/core/logs nabeeloz/qlik-py-tools


# Run a container in detached mode, storing predictive models on a volume and logs on a bind mount
docker run \
-p 50055:50055 \
-d \
-v pytools-models:/qlik-py-tools/models \
-v ~/Documents/logs:/qlik-py-tools/core/logs \
nabeeloz/qlik-py-tools


# Run a container in detached mode, storing predictive models on a volume , logs on a bind mount and restart the container on reboot
docker run \
-p 50055:50055 \
-d \
–restart unless-stopped \
-v pytools-models:/qlik-py-tools/models \
-v ~/Documents/logs:/qlik-py-tools/core/logs \
nabeeloz/qlik-py-tools


# Run a container in detached mode, restart on reboot, store models and logs to bind mounts, and use certificates for secure communication
docker run \
-p 50055:50055 \
-d \
–restart unless-stopped \
–name qlik-py-tools \
-v ~/sse_PyTools_generated_certs/sse_PyTools_server_certs:/qlik-py-tools/pem-dir \
-v ~/Documents/models:/qlik-py-tools/models \
-v ~/Documents/logs:/qlik-py-tools/core/logs \
nabeeloz/qlik-py-tools python __main__.py –pem_dir=/qlik-py-tools/pem-dir

Pré-requisitos

 Para instalar e configurar o SSE, você precisa dos seguintes componentes:

  • Qlik Sense Enterprise ou Qlik Sense Desktop
  • Ferramentas de compilação do Microsoft Visual C++
  • Python >= 3.4 <= 3.6.9. A versão recomendada é 3.6.8.

Observação: A última versão estável do Python para este SSE é 3.6. A biblioteca pystan, que é necessária para fbprophet, é conhecida por ter problemas com Python 3.7 no Windows.

Como realizar a Instalação

  1. Obtenha Python a partir daqui. Certifique-se de obter a versão de 64 bits. Lembre-se de selecionar a opção para adicionar Python à sua variável de ambiente PATH.

2. Você também precisará de um compilador C++ recente, pois esse é um requisito para a biblioteca usada pelo . Uma opção é usar o Microsoft Visual C++ Build Tools. Se você estiver tendo problemas para encontrar o instalador correto, tente este link direto

Observação: Se você estiver usando o instalador do Visual Studio, selecione a carga de trabalho do Visual C++ Build Tools no instalador e certifique-se de selecionar os compiladores C++ nos componentes opcionais:

como instalar python no qlik sense

3. Baixe a versão mais recente para este SSE e extraia-a para um local de sua escolha. A máquina onde você está colocando esse repositório deve ter acesso a uma instância local ou remota do Qlik Sense.

4. Clique com o botão direito do mouse e escolha ‘Executar como administrador’. Você pode abrir esse arquivo em um editor de texto para revisar os comandos que serão executados. Se tudo correr bem, você verá um ambiente virtual Python sendo configurado, arquivos de projeto sendo copiados, alguns pacotes sendo instalados e a porta TCP sendo aberta para comunicação de entrada. Qlik-Py-Init.bat50055

    • Observe que o script sempre termina com uma mensagem “Tudo concluído” e não verifica erros.
    • Se você precisar alterar a porta, poderá fazê-lo no arquivo abrindo o arquivo com um editor de texto, alterando o valor da variável e salvando o arquivo. Você também precisará atualizar para usar a mesma porta no comando. Esse comando só funcionará se você executar o arquivo em lotes por meio de um prompt de comando elevado (ou seja, com privilégios de administrador).core\__main__.py_DEFAULT_PORTQlik-Py-Init.batnetsh
    • Quando a execução for concluída, faça uma varredura rápida do log para ver tudo instalado corretamente. As bibliotecas importadas são: , , , e suas dependências. Além disso, verifique se os diretórios e foram copiados com êxito para o diretório recém-criado. grpciogrpcio-toolsnumpyscipypandascythonjoblibpyyamlpystanfbprophetscikit-learnhdbscanspacyefficient-aprioritensorflowkerascoregeneratedqlik-py-env
    • Se a inicialização falhar por qualquer motivo, você pode simplesmente excluir o diretório e executar novamente o .qlik-py-envQlik-Py-Init.bat

5. Agora, sempre que você quiser iniciar este serviço Python, você pode executá-lo .Qlik-Py-Start.bat

6.Agora você precisa configurar uma conexão do Google Analytics no Qlik Sense Enterprise ou atualizar o arquivo Settings.ini no Qlik Sense Desktop. Se você estiver usando os aplicativos de exemplo, certifique-se de usar como o nome para a conexão de análise ou, alternativamente, atualize todas as expressões para usar o novo nome. PyTools

SSEPlugin=PyTools,localhost:50055;

Observações:
Para o Qlik Sense Enterprise, você precisa criar uma conexão do Google Analytics por meio do QMC.

Finalmente, reinicie o serviço de mecanismo do Qlik Sense para o Qlik Sense Enterprise ou feche e reabra o Qlik Sense Desktop. Se uma conexão entre Python e Qlik for estabelecida, você verá os recursos listados no terminal.

python no excel

Conclusão

Neste artigo, vimos as diversas oportunidades que a integração do Python no Qlik Sense oferece, usando a extensão do servidor (SSE) criada por Nabeel Oz. A possibilidade de adicionar algoritmos de machine learning, reconhecimento de entidades e análise avançada de dados melhora muito a experiência analítica no Qlik Sense.

A metodologia usada, baseada em funções definidas por gRPC, facilita a integração entre o Python e o Qlik Sense. Essa separação de implementação permite que os criadores de aplicativos no Qlik usem as funcionalidades sem precisar entender a complexidade dos algoritmos por trás. Além disso, a segurança é aumentada, restringindo o uso a algoritmos específicos e permitindo que o SSE seja executado em ambientes protegidos.

O uso de contêineres Docker torna mais fácil a implementação, dando flexibilidade e eficiência para executar o SSE em diferentes ambientes. Com uma variedade de bibliotecas de Python, desde scikit-learn até Keras e spaCy, os usuários têm acesso a um arsenal poderoso para análise de dados e ML.

Se você quer explorar mais essas capacidades ou tem dificuldades na implementação, a Mindtek está aqui para oferecer suporte técnico especializado, entre em contato conosco mandando um e-mail para contato@mindtek.com.br

Por |2024-01-04T15:18:17-03:00janeiro 4th, 2024|Qlik, Qlik Sense|Comentários desativados em Aprenda como utilizar em Python no Qlik Sense

Sobre o Autor:

Política de Privacidade

Ir ao Topo