segunda-feira, 18 de julho de 2016

Template addIn - tableComponent

Introdução


O template addIn faz parte do conjunto de addIn’s existentes para serem utilizados no tableComponent. Este é um addIn relativamente simples mas que trás uma grande flexibilidade para customizar as colunas de uma tabela, podendo alterar seu conteúdo baseado em um template html e um modelo de dados, ou até mesmo criar botões/checkbox’s/etc com eventos associados.

terça-feira, 31 de maio de 2016

FreeNAS + VirtualBox

Introdução


Coisas que geralmente me incomodam tendem a sumir quando minha paciência com elas se esgotam. E uma das coisas que sempre me incomodou é o fato de precisar reinstalar meu notebook de trabalho, ou porque comprei um novo, ou porque resolvi trocar o HD por um maior/melhor ou porque alguma merda mesmo aconteceu e o mesmo precisou ser reinstalado.

Alguém pode dizer, basta criar uma partição de dados e colocar tudo lá. OK, é uma alternativa, mas e se quiser trocar o SO, quiser restaurar seu notebook para o padrão de fábrica, o particionamento que você achou que era o ideal não é mais, ou seja, uma das partições já está cheia e você vê a outra nadando em espaço livre até que você decide mexer nas partições e correr o risco de perder tudo.

Esse blog post visa documentar uma outra estratégia, não sei se é melhor, mais simples ou mais segura, mas é a abordagem que estarei seguindo a partir de agora para testar, e só o futuro me dirá se foi uma aposta acertada ou não.

Estratégia


Estarei usando duas tecnologias para essa nova abordagem: VirtualBox e FreeNAS.

A ideia básica é criar um servidor "NAS local" rodando em uma máquina virtual. O servidor NAS será criado utilizando o FreeNAS.

Uma vez que eu tenha um servidor NAS disponível, meu notebook estará montando os pontos de montagem disponível no NAS via NFS ou CIFS. Como isso, todos meus arquivos, programas, workspaces de trabalho, etc estarão armazenados nesse servidor NAS.

domingo, 8 de maio de 2016

Clonando um banco de dados HP Vertica

Introdução



Já precisei algumas vezes clonar uma base de dados Vertica para um outro servidor, para ter uma base idêntica de testes ou por alguma razão ter que refazer o servidor.

Mas sempre foi muito trabalhoso esse processo. Por vezes, é necessário a mesma configuração do servidor anterior, como estrutura de diretórios e/ou mesmo endereço IP. Algumas vezes atender esses requisitos é fácil, mas outras vezes não.

Existe na documentação oficial do Vertica formas de clonar uma base de dados, algumas vezes funcionou pra mim, outras vezes não devido alguma particularidade do meu ambiente.

Basicamente, o que eu gostaria de fazer era copiar os diretórios de dados/catálogo e configuração da máquina antiga para a máquina nova e pronto, subir o Vertica e ir pra casa feliz da vida. A ideia desse post é justamente mostrar como fazer isso, usando uma técnica que não está muito documentada, que é usar o 'Catalog Editor' para alterar configurações que estão armazenadas dentro dos catálogos e não em arquivos externos.

Alterar o catálogo é algo extremamento arriscado, então essa operação é por sua própria conta e risco. A boa notícia é que se estamos alterando em uma nova máquina e alguma besteira for feita isso não irá afetar as outras máquinas em produção, desde que você altere uma cópia do catálogo e não a única cópia que você tenha.

terça-feira, 5 de abril de 2016

Menu de Navegação usando Dashboard Component

Introdução


Dashboard Component é um novo componente existente no CDE quando o mesmo está configurado como RequireJS.

Ele permite carregar um certo dashboard em um dado placeholder (DIV) do layout CDE, como podíamos fazer antigamente com o velho iframe.

O mesmo permite ainda fazer a ligação de parâmetros para a passagem de valores do dashboard pai para o dashboard filho.

Esse post irá mostrar como criar um menu de navegação usando o Dashboard Component disponível no CDE.

Esta abordagem permitirá, entre outros, a criação de um portal ou painel de administração onde os links de um menu, que apontam para diferentes dashboards, sejam carregados em uma área específica do dashboard principal.

Além de termos um dashboard principal que é carregado apenas uma única vez, essa abordagem nos permite também termos filtros, seletores, entre outros componentes CDE compartilhados entre todos dashboards filhos.

Temos ainda a capacidade de passarmos valores do dashboard pai para o dashboard filho e vice-versa.

quinta-feira, 1 de outubro de 2015

Configurando Security Logging no Pentaho

Background


Quando um processo de autenticação e autorização não está se comportando como você gostaria que estivesse, uma das primeiras ações a se fazer é habilitar o debug para as classes relacionadas a segurança.

Algumas vezes também, preciso liberar o acesso anonymous ou dar alguma permissão especial a algum recurso via spring-security. Para isso você precisa configurar o arquivo applicationContext-spring-security.xml e informar quais URL's dos recursos serão configuradas.

Então, para descobrir quais URL's são necessárias configurar para alcançar seu objetivo é necessário habilitar o log security, que permitirá identificá-las.

Referência

quarta-feira, 9 de setembro de 2015

Pentaho 5.4 + PostgreSQL

Background


Os passos abaixo visam configurar o Pentaho 5.4 para utilizar o Postgres como banco de dados dos metadados.

Existem algumas diferençãs entre a configuração do Pentaho 4.x para a versão 5.x.

Umas das principais mudanças é que o repositório dos arquivos e configurações do Pentaho 5.x agora ficam armazenado em um repositório de conteúdo chamado Jackrabbit, e não mais no filesystem.

Logo, adicionalmente ao que era feito para configurar o Pentaho 4.8, agora será criado também um database para armazenar os dados/metadados do Jackrabbit no PostgreSQL.

terça-feira, 28 de julho de 2015

HP Vertica ERROR 3149: Duplicate primary/unique key detected in join

Hoje fazendo a carga de alguns arquivos para meu DW me deparei com uma mensagem de erro do Vertica dizendo que havia primary keys duplicadas.

Achei muito estranho, então separei os arquivos imaginando que seria algum problema no arquivo que estava sendo carredo e que depois eu voltaria a analisá-los.

Mas quando fui rodar meu dashboard recebi o mesmo em uma das consultas SQL definidas.

Pesquisando vi que o Vertica no momento da carga não verifica as constraints no momento de carga para priorizar a performance, ou seja, você poderia por exemplo incluir dois registros com a mesma primary key.

sexta-feira, 24 de julho de 2015

Integrator Plugin for Pentaho 5

Some people asked me about how to use the old version of Pentaho Servlet Integrator in the new Pentaho 5.

Unfortunately, the core of Pentaho 5 it's totally different from Pentaho 4.8. So, the way to authenticate the user used by Pentaho Servlet Integrator cannot be used any more in the Pentaho 5.

The Integrator Plugin for Pentaho 5 is a new implementation with the same idea, but that works in the Pentaho 5 and was developed as a pentaho plugin instead of a servlet.

Note: The plugin was not tested in the Pentaho versions prior than 5.4.

segunda-feira, 12 de janeiro de 2015

How to create a Treetable (parent-child hierarchies) on CDE

Introduction


In this blog post I will be showing how to create a treetable using Pentaho CDE as shown in the bellow picture using the jQuery treetable plugin.


terça-feira, 18 de novembro de 2014

Configurando Shell In A Box no CentOS

Introdução


Shell In A Box (pronunciado shellinabox) é um emulador de terminal baseado na web criado por Markus Gutschke. Ele tem internamente um servidor web próprio que roda um cliente SSH baseado na web e em uma porta específica, disponibilizando para você um emulador de terminal para acessar e controlar remotamente seu servidor linux.

Shell In A Box utiliza somente AJAX/Javascript e CSS para funcionar, sem precisar instalar nenhum outro software adicional.

Nesse tutorial, iremos descrever como instalar o shellinabox para acessar remotamente o terminal SSH de um servidor linux usando apenas um browser moderno.

Clientes SSH baseado na web são bastante úteis quando você está protegido por um firewall/proxy e somente HTTP(s) podem passar por eles.

Instalando o Shellinabox no CentOS 6


Por padrão o shellinabox já vem incluído em várias distribuições através de seus repositórios padrões.

Configurando Autenticação em 2 Passos no CentOS 6

Introdução


Autenticação em 2 passos é aquele processo que além do seu usuário e senha tradicionais é solicitado um código validador adicional. Esse código validador pode ser enviado por SMS, gerado por algum programa ou gerado por token.

A cada intervalo de tempo, geralmente 30s, um novo código é gerado e o código anterior é invalidado.

Então mesmo que uma pessoa conheça seu usuário e senha, provavelmente ela não conseguira ter acesso ao sistema se não tiver o código validador daquele exato momento, aumentando a segurança no acesso do servidor.

Nesse artigo vamos mostrar como configurar a autenticação em 2 passos para conexões via SSH no servidor e utilizaremos para isso a libpam google-authenticator.

quinta-feira, 17 de julho de 2014

Pentaho + Bovespa

No dia 12 de Maio de 2014 foi inaugurado o site Mercado Analítico, que tem como objetivo ser um portal de ferramentas analíticas que permitem ajudar os investidores, em seus diversos níveis, a tomarem as melhores decisões de negócios.

O portal tem como visão ser uma plataforma completa de análise da Bovespa, Títulos Públicos, Fundos Imobiliários, rastreadores inteligentes, etc.

De forma mais técnica, a plataforma tem como base principal a suite Pentaho, utilizada para a cargas de dados no DW e construção dos painéis de acompanhamento.

Mas algumas outra integrações foram necessárias para atender particularidades específicas dos requisitos bem como adicionar uma camada extra de segurança.

Entre essas integrações existem gráficos utilizando a biblioteca Highcharts e também uma integração com NodeJS para a execução de cálculos complexos no lado do servidor.

Para aqueles que ainda tem alguma dúvida sobre o potencial do Pentaho, tem no Mercado Analítico mais um exemplo do que podemos fazer com essa fantástica ferramenta.


Abracos.
Kleyson Rios.

sexta-feira, 17 de janeiro de 2014

Pentaho Servlet Integrator

You can always see someone asking how to integrate Pentaho with a Third Party Application.

Pentaho Servlet Integrator allows you to call from a Third Party App any analyse, dashboard, report etc from the Pentaho without pass user/password on the URL.

How does it work ? 

quinta-feira, 31 de outubro de 2013

CBFL – A modified version of CTools CBF

There are no doubts about the benefits for using CTools CBF. Good blog posts are available about it.


For those ones that need customize Pentaho source code to change or include new features, CBF is the best option.

But, why do I need to compile the entire source code of Pentaho if there is no change in the source code? How to use Pentaho bundled package instead?
 
To addressing those questions, I’ve made some changes on CBF to use Pentaho bundled package instead of Pentaho source code. Moreover, I’ve also added some new features that I think be important.

quinta-feira, 26 de setembro de 2013

Controlling Data Loading Process using Kettle



Sometimes you have a process to load data from a flat file to a database, even from a database to your DW.

But if something goes wrong? How do you know if your load process finished successfully or not? If not, how do you reprocess the files without duplicate records?

This post will bring an option to try addressing those problems.

The main ideas of control process are (1) generate an ID for the process (2) save a timestamp at beginning (3) save ID on all the tables controlled (4) save a timestamp at the end.

So, if some problem occurs and aborts the job, next time you will be able to identify all data inserted by that job, delete them and insert again.


I’m assuming PostgreSQL as Database. For others databases might be necessary some adjusts.

domingo, 22 de setembro de 2013

Secretaria de Saúde do Estado de Goiás utiliza Pentaho como ferramenta de BI

A Secretaria de Saúde do Estado de Goiás a três anos vem desenvolvendo projetos de Business Intelligence utilizando a suite de ferramentas Pentaho.

Dentre seus projetos encontram-se painéis para acompanhamento e monitoramento da dengue nos municípios goianos, bem como painéis que permitem monitorar as campanhas de vacinação no Estado.

Esses painéis fornecem ainda aos analistas epidemiológicos e

quarta-feira, 11 de junho de 2008

Análise IBovespa e Vale5 - 11/06/2008

O IBOV a duas semanas está em tendência de queda. Na correção de 38,2%, aproximadamente 66.ooo pontos, o índice deve encontrar um forte suporte, pois esse região coincide com o primeiro nível de suporte do candle longo de alta e com o suporte do TH anterior, que foi rompido pelo longo candle branco, ou seja, 3 suportes em um mesmo nível de pontos.

segunda-feira, 9 de junho de 2008

Curso Candlestick - Parte 4: Tamanho, cor e frequência do corpo real

O gráfico de candle possibilita a identificação de vários elementos do comportamento humano, e isso significa poder identificar as forças que estão atuando no mercado.

Então você pode identificar o tom do mercado apenas avaliando o tamanho, cor e frequência de linhas de candle, tanto de forma individual como em um grupo de candle.

Na nossa aula de hoje, vamos aprender extrair valiosas informações de um conjunto de candles, baseado na características indicadas acima.

quarta-feira, 4 de junho de 2008

Operação com Opção - Vender a Seco

- Operação especulativa

A venda a seco é uma operação inversa a compra a seco. Você vende para o comprador um direito de compra da ação a um determinado preço, sem você ter essa ação na sua carteira.

Qual o problema da venda a seco ? Ela quebra o cara literalmente - leva o dinheiro investido, leva a casa, o carro, o limite do cheque especial ...

Diferentemente da compra a seco, que o máximo que você perde é o valor total investido naquela operação.

Porque a venda a seco leva todo seu dinheiro ? Vamos imaginar a seguinte situação:

quinta-feira, 29 de maio de 2008

Curso Candlestick - Parte 3.4: Corpo Real / Corpo Longo de Baixa

Como vimos para o candle longo de alta, vamos nessa aula ver o que significa o candle longo de baixa quando:

- se encontra no alto de uma tendência de alta;
- confirma uma resistência;
- rompe um suporte;
- funciona como uma área de resistência.