Google Ads

Saturday, May 30, 2015

Scrapy 0.24

An open source and collaborative framework for extracting the data you need from websites. In a fast, simple, yet extensible way.

Tuesday, May 26, 2015

Números oficiais do Pentaho Day 2015 - Curitiba - Brasil

- Número Oficial de Participantes: 327 Pessoas.

– Número de Países de Participantes: 8 Países, incluindo Brasil, Portugal, Argentina, Paraguay, Uruguay, Chile, Eslovênia e Espanha.

– Número de Estados Brasileiros Participantes: 18 Estados Brasileiros + Distrito Federal.

( AC, AL , AM, BA, CE , DF , ES , GO, MG , MS , MT , PE, PR, RJ , RO, RS, SC, SP, SE )

– Número de Palestrantes: 34 Palestrantes Nacionais e Internacionais.

– Entidades de classe e ensino: 3 Representantes.

– Patrocinadores: 7 Patrocinadores ( 1 Diamante, 3 Ouro, 1 Prata , 2 Bronze )

– Organizadores: 2 Empresas e 1 Grupo de Usuários.

– Apoio: 2 Entidade de Classes e 2 Ongs

– Número de Pessoas na Organização: 11 Pessoas.

– Número de Palestras Ministradas: 36 Palestras

– Numero de Minicursos Ministrados: 18 Minicursos com o total de 480 vagas encerrados em 30 minutos após abertura.

– Número de e-mail trocados pela organização do evento: 974 mensagens

Idade dos participantes: -Idade Mínima : 19 Anos , Idade Máxima : 63 Anos, – Média de Idade: 32,5 Anos

Alguns Cargos dos Presentes: CEO, Presidente, CTO, Diretor, Gerente TI, Analista de Sistemas, Sócio-Diretor, Gestor de Desenvolvimento, Gerente de Projeto, Diretor de Desenvolvimento, Analista de segurança da informação, Analista de BI, Líder Equipe BI, Consultor de TI, DBA, Estatístico, Coordenador de BI, Especialista em Planejamento, Arquiteto de Software, Chefe de Seção, Consultor de Telecom, Auditor, Programador,Analista Implantação ERP, Professor, Data Scientist, Executivo de Vendas, Gerente de Qualidade , Estagiário, Estudante.


Wednesday, May 13, 2015

Microsoft’s Open Sourcing of ASP.NET

Under an Apache License on GitHub.
Seems that RedHat’s Truth Happens video needs another line:
First they ignore you…
Then they laugh at you…
Then they fight you…
Then you win.
And then they realize you had the right idea all along and adopt your practices for themselves.


Pentaho Labs Apache Spark Integration

Good news from Pentaho!!!
"Today at Pentaho we announced our first official support for Spark . The integration we are launching enables Spark jobs to be orchestrated using Pentaho Data Integration so that Spark can be coordinated with the rest of your data architecture. The original prototypes for number of different Spark integrations were done inPentaho Labs, where we view Spark as an evolving technology. The fact that Spark is an evolving technology is important.
Let’s look at a different evolving technology that might be more familiar – Hadoop. Yahoo created Hadoop for a single purpose ­ indexing the Internet. In order to accomplish this goal, it needed a distributed file system (HDFS) and a parallel execution engine to create the index (MapReduce). The concept of MapReduce was taken from Google’s white paper titled MapReduce: Simplified Data Processing on Large Clusters. In that paper, Dean and Ghemawat describe examples of problems that can be easily expressed as MapReduce computations. If you look at the examples, they are all very similar in nature. Examples include finding lines of text that contain a word, counting the numbers of URLs in documents, listing the names of documents that contain URLs to other documents and sorting words found in documents.
When Yahoo released Hadoop into open source, it became very popular because the idea of an open source platform that used a scale-out model with a built-in processing engine was very appealing. People implemented all kinds of innovative solutions using MapReduce, including tasks such as facial recognition in streaming video. They did this using MapReduce despite the fact that it was not designed for this task, and that forcing tasks into the MapReduce format was clunky and inefficient. The fact that people attempted these implementations is a testament to the attractiveness of the Hadoop platform as a whole in spite of the limited flexibility of MapReduce.
What has happened to Hadoop since those days? A number of important things, like security have been added, showing that Hadoop has evolved to meet the needs of large enterprises. A SQL engine, Hive, was added so that Hadoop could act as a database platform. A No-SQL engine, HBase, was added. In Hadoop 2, Yarn was added. Yarn allows other processing engines to execute on the same footing as MapReduce. Yarn is a reaction to the sentiment that “Hadoop overall is great, but MapReduce was not designed for my use case.” Each of these new additions (security, Hive, HBase, Yarn, etc.) is at a different level of maturity and has gone through its own evolution.
As we can see, Hadoop has come a long way since it was created for a specific purpose. Spark is evolving in a similar way. Spark was created as a scalable in-memory solution for a data scientist. Note, a single data scientist. One. Since then Spark has acquired the ability to answer SQL queries, added some support for multi-user/concurrency, and the ability to run computations against streaming data using micro-batches. So Spark is evolving in a similar way to Hadoop’s history over the last 10 years. The worlds of Hadoop and Spark also overlap in other ways. Spark itself has no storage layer. It makes sense to be able to run Spark inside of Yarn so that HDFS can be used to store the data, and Spark can be used as the processing engine on the data nodes using Yarn. This is an option that has been available since late 2012.
In Pentaho Labs, we continually evaluate both new technologies and evolving technologies to assess their suitability for enterprise-grade data transformation and analytics. We have created prototypes demonstrating our analysis capabilities using Spark SQL as a data source and running Pentaho Data Integration transformations inside the Spark engine in streaming and non-streaming modes. Our announcement today is the productization of one Spark use case, and we will continue to evaluate and release more support as Spark continues to grow and evolve.
Pentaho Data Integration for Apache Spark will be GA in June 2015. You can learn more about Spark innovation in Pentaho Labs here:
I will also lead a webinar on Apache Spark on Tuesday June 2, 2015 at 10am/pt (1pm/ET). You can register at"

Saturday, May 09, 2015

Parallel Computing with R and Redis

pdiR - Integrating PDI (Pentaho Data Integration) with R in an easy way for you

Pentaho folks,

It is to soon to say anything about our new open source project called pdiR, but feel free to try it and tell us your thougths here.

Integrating PDI (Pentaho Data Integration) with R in an easy way for you.

pdiR = PDI (Pentaho Data Integration) + R

An easy way to use PDI (Pentaho Data Integration) with R.

Turn R into a powerful R web server.

Run your R Scripts in PDI (Pentaho Data Integration) without having to config anything.

Simply pull this image from Docker Hub and start your pdiR server.

You can run your R script in a Sparkl / Pentaho Dashboard.

You can create amazing things when you integrate PDI with R.

But it is not an easy task, that's why we create this project, to help you.

We will help you with the correct PDI version, the correct PDI/R plugin, the correct JDK, the correct
environment and you will just focus on your R Script and your business needs.



pdiR 5.3
(JDK): Java SE Development Kit 7u79.

How to install Redis on Ubuntu Linux | Some commands

What is Redis?

Redis is an open source, BSD licensed, advanced key-value cache and store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets, sorted sets, bitmaps and hyperloglogs.


How to install Redis on Ubuntu Linux
# sudo apt-get install redis-server

How to run the Redis Server
# redis-server

Some commands:
# redis-cli

caiomsouza@ubuntu:~$ redis-cli> ping
PONG> quit
caiomsouza@ubuntu:~$ redis-cli -h

# redis-cli --version

Thursday, May 07, 2015

Passo a Passo da Instalação do Plugin R-Script-executor no PDI 5.3.0 e Configuração do Plugin R-Script- executor no Sparkl

Esse documento foi escrito por André Sammarco (, sendo o resultado de um trabalho de pesquisa que começou em Janeiro de 2015 com a Comunidade Pentaho de São Paulo de forma presencial, e teve seu resultado formal apresentado no dia 06/05/2015 no encontro Online da Comunidade. É importante agradecer algumas pessoas que participaram e contribuiram de alguma forma nesse projeto de pesquisa comunitário, sendo elas (as pessoas mais envolvidas nesse trabalho): Emannuel Roque, Caio Moreno de Souza (eu), Caio Cardoso Lucena e André Sammarco.

Se houver alguma dúvida que não foi esclarecida veja as referências ou entre em contato:, ou diretamente com nossa comunidade.

O que é o R?

O software R é uma caixa de Pandora. Desenvolvido de forma colaborativa por pessoas em volta do mundo, a difusão de seus pacotes e versões não seria diferente. Seus pacotes são desenvolvidos na “esperança” de solução de uma variedade de problemas que envolvem cálculos matemáticos, estatísticos, gráficos, web services, algoritmos de geomapeamento etc, abrangindo assim várias áreas de estudo. Portanto, o R não é um software estatístico. Pode crer, quando achares que seu problema não tem solução, o R tem uma, na forma de pacote milagroso.
O código fonte do R está disponível sob a licença GNU GPL e as versões binárias pré-compiladas são fornecidas para Windows, Macintosh, e muitos sistemas operacionais Unix/Linux. Para mais informações, veja (ref 11 ao final).
A integração do R com o PDI (Pentaho Data-Integration) nos dá o poder de processar e transformar uma quantidade massiva de dados em conhecimento, de forma ágil e flexível. Ainda, é possível tornar essa integração altamente disponível com BA Server, em que o usuário final através de seus dashboards (produzidos com tecnologia Sparkl) extrai e visualiza instantaneamente conhecimento de seus dados.

Instalação do Plugin R-Script-executor no PDI
Passo 1 - Ambiente de Instalação, Configuração e versões dos Softwares utilizados:
1.     Sistema Operacional: Linux OpenSuse 11.3 64-bits. Site:
2.     Versão do Java (JDK):  Java SE Development Kit 7u79. Site:
3.     Versão do BA Server: biserver-ce- . Site
4.     Versão do PDI: pdi-ce- Site:
5.     Versão do R: R version 3.1.3 (2015-03-09) -- "Smooth Sidewalk". Site: ou
6.     Versão do Plugin: RScriptPlugin-0.0.4. Site: (também pode ser baixado pelo Marketplace do PDI)

Passo 2 - Pré-requisitos: Instalação e configuração: ítens 1, 2, 3, 4 e 5 (Passo 1). Acesso a nível de administrador do Sistema Operacional.

Passo 3 - Preparando o ambiente para a instalação:
Esteja certo de ter instalado e configurado o JDK (ítem 2), assim como configurado suas variáveis de ambiente (veja referência 1 ao final), antes de instalar o R. Caso você tenha atualizado o seu JDK após a instalação do R, utilize o comando:
sudo R CMD javareconf JAVA_HOME =

obs.: comando utilizado somente para usuário de MAC e Linux.
Execute o R pela linha de comando.

Passo 4 - Instalação do pacote rJava para utilização do R com PDI:
Na linha de comando do R digite:
Sys.setenv(“FORCE_NATIVE”=1);    (Força a instalação do pacote 64-bit e não 32-bit)

install.packages(“rJava”, type=’source’);  (Comando para a instalação do pacote)

Aparecerá a mensagem abaixo e uma lista de opções dos locais para baixar o pacote.
--- Please select a CRAN mirror for use in this session ---

(seleciono sempre 12, ou seja, Brasil SP2).

Preste atenção nas mensagens de instalação, para saber se o pacote foi instalado corretamente ou não.
Em ambiente Windows, o próprio R pergunta se a instalação será feita somente para o usuário da sessão e jogará a pasta do pacote em:

No Linux, essa pasta será:

Configurando as variáveis de ambiente do Sistema Operacional (pode variar de acordo com a administração do sistema veja ref. 2 ao final):
No final do arquivo /etc/profile, inserir as linhas:
R_HOME=  instalação do R>  (No meu caso /usr/lib64/R)

export R_HOME

(execute o comando Sys.getenv("R_HOME"); no R para obter esse caminho)
R_LIBS_USER= (No meu caso /usr/lib64/R/library)

export R_LIBS_USER

(execute o comando Sys.getenv("R_LIBS_USER"); no R para obter esse caminho)

export PATH

O PDI utilizará esses caminhos para saber onde buscar o executável do R e também os pacotes instalados pelos usuários e que possivelmente serão utilizados em seus scripts.
Faça logout e login para garantir que todas as variáveis de ambiente serão carregadas pelo Sistema. Após o login confira cada uma delas pelo comando:

Passo 5 - Configuração do PDI

Na linha de comando, faça
cd /(pasta instalação do pdi)/data-integration/plugins/steps             (colocaremos o plugin aqui)

wget                    (faz download do plugin)

unzip                                                                           (extrai o plugin na pasta)

Feito isso, copiar o arquivo:
cp /usr/lib64/R/library/rJava/jri/ /(pasta instalação do pdi)/data-integration/libswt/linux/x86_64/

Essa lib é utilizada pelo pdi para executar o Step “Execute R Script”.
Sem ela o PDI acusará o erro:
“jri not found in java.library.path”

Por fim, a pasta “java.library.path” está definida no arquivo “” da seguinte forma:
LIBPATH=$BASEDIR/../libswt/linux/x86_64/     (No meu caso, por estar utilizando Linux 64-bits)

Mas essa pasta seria, conforme abaixo:
/(pasta instalação do pdi)/libswt/linux/x86_64/    (No meu caso, /opt/libswt/linux/x86_64/)

Portanto, a pasta errada.
Altere essa linha do arquivo (conforme seu Sistema Operacional):
LIBPATH=$BASEDIR/libswt/linux/x86_64/                                   (retirar “../”)

Configuração do Plugin R-Script-executor no Sparkl
O plugin do R não é nativo do BA server e por isso devemos copiar os arquivos referentes a este plugin para o BA server.
mkdir (pasta intalação do biserver-ce)/biserver-ce/pentaho-solutions/system/ketttle/plugins/steps                  

(deixamos no mesmo padrão de pastas do PDI)

Copie a pasta do plugin R que está em /data-integration/plugins/steps para a recém criada no BA server.

Para não ter que alterar nenhum dos arquivos originais de inicialização do BA Server, crie um arquivo em ”(pasta intalação do biserver-ce)/biserver-ce/”:

sudo –u (usuário de execução do BA server) JAVA_HOME=$JAVA_HOME R_HOME=$R_HOME ./

 Crie outro arquivo ”” e troque “./” para “./” conforme acima.

Pare o BA server e apague todos os arquivos de log em

(pasta intalação do biserver-ce)/biserver-ce/tomcat/logs

Crie uma transformação simples “teste.ktr” com o plugin R que servirá como endpoint.

Cole em

 (pasta intalação do biserver-ce)/biserver-ce/pentaho-solutions/system/(dashboard_sparkl)/endpoints/kettle/teste.ktr

Copie a para /usr/lib64, pois agora estaremos utilizando o BA server para executar essa transformação, e é nessa pasta que ele está procurando a lib.

Qualquer dúvida em relação a essas pastas é só analisar o arquivo:

(pasta intalação do biserver-ce)/biserver-ce/tomcat/logs/pentaho.log

Inicie o BA server através do script criado, vá até sua aplicação sparkl e execute seu endpoint.

Caso ocorra algum problema, analise o log conforme acima. Os dois problemas mais comuns são: variável R_HOME nula e “jri not found in java.library.path”.

Erros encontrados:
No campo Path to R script, não utilizae a variável ${Internal.Transformation.Filename.Directory} que instancia dinamicamente o diretório da aplicação. O step não funciona com essa variável.
1.     Site:, Ensina a instanciar as variáveis de ambiente de acordo com a administração do Sistema Operacional.
2.     Site:, Ensina a instalar o plugin do R no PDI.
3.     Site:, Exemplos de uso do plugin.
4.     Site:, Transformação teste e plugin para baixar.
5.     Site:, Ensina configurar o ambiente de instalação do rJava no R.
6.     Site:
7.     Site:, Aplicação de uso do plugin do R.
8.     Site:, Video que mostra estudo de Caso com o step R .
9.     Livro: Fundamentos de Programação em R, Fernando Amaral, Ensina conceitos básicos da linguagem.
10.  Site:, Fórum Pentaho para esclarecer dúvidas e contribuir com a comunidade.
11.  Site:ção), O que é o Software R.
12.  Site:, Apostila introdutória sobre o uso do R.

Wednesday, May 06, 2015

Encontro da Comunidade Pentaho Online ensinando agora o passo a passo de como integrar o Pentaho Data Integration com o R

R é uma linguagem de programação/software gratuíto para análises estatísticas e gráficos. A linguagem R é amplamente utilizada por estatísticos e analistas de dados para análise de dados e desenvolvimento de softwares estatísticos. A popularidade do R tem aumentando significativamente todo ano.

Como o R foi adotado pela comunidade científica, praticamente todos os algoritmos/técnicas novas são lançadas/desenvolvidas no R, tornando-o um software extremamente dinâmico e atual. Além de ser gratuíto, o R é facilmente integravel com SPSS, SAS e Microsoft Excel (entre outros), permitindo que os usuários continuem utilizando ferramentas mais familiares porém adicionando todas as funcionalidades do R.

Como integrar o Pentaho Data Integration com o R


Alguns meses atrás começamos um trabalho na Comunidade Pentaho de São Paulo de estudo do Weka, R e integrações com o PDI.

Agora neste momento estamos ensinando como integrar o Pentaho Data Integration com o R.

Para participar agora clique no link:

R é uma linguagem de programação/software gratuíto para análises estatísticas e gráficos. A linguagem R é amplamente utilizada por estatísticos e analistas de dados para análise de dados e desenvolvimento de softwares estatísticos. A popularidade do R tem aumentando significativamente todo ano.

Como o R foi adotado pela comunidade científica, praticamente todos os algoritmos/técnicas novas são lançadas/desenvolvidas no R, tornando-o um software extremamente dinâmico e atual. Além de ser gratuíto, o R é facilmente integravel com SPSS, SAS e Microsoft Excel (entre outros), permitindo que os usuários continuem utilizando ferramentas mais familiares porém adicionando todas as funcionalidades do R.

Friday, May 01, 2015

Apache Kafka

Apache Kafka is publish-subscribe messaging rethought as a distributed commit log.
A single Kafka broker can handle hundreds of megabytes of reads and writes per second from thousands of clients.
Kafka is designed to allow a single cluster to serve as the central data backbone for a large organization. It can be elastically and transparently expanded without downtime. Data streams are partitioned and spread over a cluster of machines to allow data streams larger than the capability of any single machine and to allow clusters of co-ordinated consumers
Messages are persisted on disk and replicated within the cluster to prevent data loss. Each broker can handle terabytes of messages without performance impact.
Distributed by Design
Kafka has a modern cluster-centric design that offers strong durability and fault-tolerance guarantees.


Apache Mesos

Program against your datacenter like it’s a single pool of resources

Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.

What is Mesos?
A distributed systems kernel

Mesos is built using the same principles as the Linux kernel, only at a different level of abstraction. The Mesos kernel runs on every machine and provides applications (e.g., Hadoop, Spark, Kafka, Elastic Search) with API’s for resource management and scheduling across entire datacenter and cloud environments.

Project Features
Scalability to 10,000s of nodes
Fault-tolerant replicated master and slaves using ZooKeeper
Support for Docker containers
Native isolation between tasks with Linux Containers
Multi-resource scheduling (memory, CPU, disk, and ports)
Java, Python and C++ APIs for developing new parallel applications
Web UI for viewing cluster state


Fig / Docker Compose,

Compose is a tool for defining and running complex applications with Docker. With Compose, you define a multi-container application in a single file, then spin your application up in a single command which does everything that needs to be done to get it running.
Compose is great for development environments, staging servers, and CI. We don't recommend that you use it in production yet.


Fabric is a Python (2.5-2.7) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.

It provides a basic suite of operations for executing local or remote shell commands (normally or via sudo) and uploading/downloading files, as well as auxiliary functionality such as prompting the running user for input, or aborting execution.

Estatísticas do Brasil - Geral

Área Total do Brasil: 8.514.215,3 km2

Brasil 2009 2010 2011 2012 2013 2014
População* 194.351 196.289 198.172 200.000 201.774 203.492
PIB R$ bilhões
Cresc. anual
PIB US$ Bilhões
PIB per capita R$
Cresc. anual
PIB per capita US$
Inflação - IGPM (%) -1,72 11,32 5,10 7,81 5,53 2,66
Inflação IPCA (%) 4,31 5,92 6,50 5,84 5,91 6,40
Câmbio fechamento (R$ por US$) 1,74 1,67 1,88 2,04 2,34 2,66
* Alteração de acordo com revisão 2013 da população feita pelo IBGE.


Milhões 2009 2010 2011 2012 2013 2014
Celulares 174,0 202,9 242,2 261,8 271,1 280,7
Telefones Fixos 41,5 42,1 43,0 44,3 44,9 45,0
Banda larga 12,8 15,3 17,0 19,8 22,2 24,0
TV por Assinatura 3,6 9,8 12,7 16,2 18,0 19,6
Usuários de Internet (PNAD) 67,8 73,9 77,7 84,2 85,6 -


/100 hab. 2009 2010 2011 2012 2013 2014
Celulares 89,5 103,4 122,2 130,9 134,4 138,0
Telefones Fixos 21,4 21,5 21,7 22,2 22,2 22,1
Banda larga 6,6 7,8 8,6 9,9 11,0 11,8
TV por Assinatura 3,8 5,0 6,4 8,1 8,9 9,6
* Densidades foram alteradas de acordo com revisão 2013 da população feita pelo IBGE.


% com 2007 2008 2009 2010 2011 2012 2013
Televisão 94,5% 95,1% 95,6% 95,0% 96,9% 97,2% 97,2%
(Fixo ou Celular)
77,0% 82,1% 84,1% 87,9% 89,9% 91,2% 92,5%
Rádio 88,1% 88,9% 87,8% 81,4% 83,4% 80,9% 75,7%
Microcomputador 26,6% 31,2% 34,6% 38,3% 42,9% 46,4% 48,9%
com acesso à Internet
20,2% 23,8% 27,3% N.D. 36,5% 40,3% 42,4%
Total de Domicílios
55.770 57.557 58.566 57.324 61.292 63.768 65.130

Receita Bruta do Setor e seus Componentes

R$ Bilhões
STFC (Telefonia Fixa)
SCM (Banda Larga Fixa)
SMP (Celular)
SME (Trunking)
Fonte: Teleco, Empresas e Abinee

Investimentos Brasil

R$ Bilhões 2009 2010 2011 2012 2013 2014
Serviço Fixo 8,3 9,7 12,6 15,6 17,2 16,5
Serviço Móvel 10,6 9,2 10,2 10,1 12,2 12,3
Ivestimento Total 19,0 18,9 22,8 25,8 29,3 28,8
Fonte: Teleco e Operadoras; Nota: Serviços Fixos incluem Telefonia Fixa, Banda Larga Fixa e TV por Assinatura e Serviços Móveis incluem Telefonia Celular e SME.