Uma Introdução ao InfoSphere Streams

Uma plataforma para analisar big data em movimentação

Saiba sobre o InfoSphere® Streams, parte da plataforma de big data da IBM. O InfoSphere Streams aborda uma necessidade emergente crucial para plataformas e arquiteturas que podem processar vastas quantias de dados de fluxo gerados em tempo real. Descubra o que o produto está projetado para fazer, quando pode ser útil, como funciona e como pode complementar o InfoSphere BigInsights™ para executar analítica altamente complexa.

Sherif Sakr, Senior Research Scientist, National ICT Australia

Sherif Sakr 的照片Dr. Sherif Sakr é cientista de pesquisa senior no Software Systems Group na National ICT Australia (NICTA), Sydney, Austrália. Ele é também palestrante senior associado da School of Computer Science and Engineering na Universidade de New South Wales. Fez doutorado em ciência da computação pela Universidade de Konstanz, Alemanha, em 2007. Possui bacharelado e mestrado em ciência da computação pela Universidade do Cairo, Egito. Em 2011, Dr. Sakr ocupava o cargo de cientista pesquisador visitante no eXtreme Computing Group (XCG) na Microsoft Research, em Redmond, Wash. Em 2012, ocupava o cargo de MTS de pesquisa na Alcatel-Lucent Bell Labs.



31/Jul/2013

Informações de diversas fontes estão crescendo a uma taxa surpreendente. O número de usuários da Internet atingiu 2,27 milhões em 2012. Todos os dias, o Twitter gera mais de 12 TB de tweets, o Facebook gera mais de 25 TB de dados de log e a Bolsa de Valores de Nova York captura 1 TB de informações de comércio. Aproximadamente 30 bilhões de tags de radio-frequency identification (RFID) são criadas todos os dias. Some a essa combinação os dados gerados por centenas de milhões de dispositivos GPS vendidos todos os anos e os mais de 30 milhões de sensores em rede atualmente em uso (e crescendo a uma taxa mais rápida do que 30 por cento ao ano). Esses volumes de dados devem dobrar a cada dois anos na próxima década.

Uma empresa pode gerar até petabytes de informações durante um ano: páginas da web, blogs, fluxos de cliques, índices de procura, fóruns de mídia social, mensagens instantâneas, mensagens de texto, email, documentos, demográficos de consumidores, dados de sensores de sistemas ativos e passivos e mais. Por muitas estimativas, até 80 por cento desses dados são semiestruturados ou não estruturados. As empresas estão sempre buscando ser mais ágeis em suas operações e mais inovadoras com sua análise de dados e processos de tomada de decisão. E estão percebendo que o tempo perdido nesses processos pode levar à perda de oportunidades de negócios. O núcleo do desafio de big data é as empresas terem agilidade para analisar e entender informações com escala de Internet com a mesma facilidade que podem analisar e entender volumes menores de informações estruturadas.

A Figura 1 ilustra o desafio de big data de extrair insight de um imenso volume,variedade e velocidade de dados — em contexto — além do que tem sido possível até agora.

Figura 1. O Desafio de Big Data
O Desafio de Big Data

Na Figura 1, volume refere-se à escala de dados, de terabytes a zetabytes. Variedade refere-se à complexidade dos dados em muitas estruturas diferentes, variando de texto relacional a logs a bruto. Velocidade reflete movimentações de dados de fluxo e de dados de grande volume.

A IBM está ajudando as empresas a responderem ao desafio de big data, fornecendo a elas ferramentas para integrar e gerenciar volume e velocidade de dados, aplicar analítica em formato nativo, visualizar dados disponíveis para análise ad hoc e mais. Este artigo apresenta o InfoSphere Streams, tecnologia que permite analisar muitos tipos de dados simultaneamente e executar cálculos complexos em tempo real. Você aprenderá como o InfoSphere Streams funciona, para o que serve e como pode usá-lo em conjunto com outro produto IBM para analítica de big data — IBM InfoSphere BigInsights— para executar analítica altamente complexa.

InfoSphere BigInsights: Uma Visão Geral

MapReduce

A estrutura MapReduce, apresentada pelo Google, permite a programação de clusters de computador de mercadoria para executar processamento de dados em grande escala em um único passe. Um cluster MapReduce pode ser escalado para milhares de nós de maneira tolerante a falhas e processar petabytes de dados de maneira altamente paralela e com custo reduzido. Uma das principais vantagens da estrutura é sua reliance em um modelo de programação simples e eficiente. Além disso, ela isola o desenvolvedor de aplicativos de todos os detalhes complexos de executar um programa distribuído, como problemas relacionados à distribuição de dados, ao planejamento e à tolerância a falhas.

Um entendimento do InfoSphere BigInsights fornecerá uma apreciação mais completa do propósito e do valor do InfoSphere Streams. (Se já estiver familiarizado com o BigInsights, sinta-se à vontade para pular para a próxima seção.)

O BigInsights é uma plataforma analítica que permite que as empresas transformem conjuntos de informações complexas com escala de Internet em insights. Ele consiste em uma distribuição Apache Hadoop empacotada, com um processo de instalação muito simplificado e ferramentas associadas para desenvolvimento de aplicativos, movimentação de dados e gerenciamento de cluster. Hadoop, uma implementação de software livre da estrutura MapReduce , ganhou destaque significativo no segmento de mercado e na área acadêmica graças à sua simplicidade e escalabilidade. Além do Hadoop, outras tecnologias de software livre no BigInsights (todas as quais, com a exceção de Jaql, são projetos da Apache Software Foundation) são:

  • Pig— Uma plataforma que fornece uma linguagem de alto nível para expressar programas que analisam grandes conjuntos de dados. Pig é equipado com um compilador que converte programas Pig em sequências de tarefas MapReduce que a estrutura Hadoop executa.
  • Hive— Uma solução de data warehousing desenvolvida sobre o ambiente Hadoop. Traz conceitos familiares de banco de dados relacional, como tabelas, colunas e partições, e um subconjunto de SQL (HiveQL) para o mundo não estruturado do Hadoop. As consultas do Hive são compiladas em tarefas do MapReduce executadas usando o Hadoop.
  • Jaql— Uma linguagem de consulta desenvolvida pela IBM projetada para JavaScript Object Notation (JSON) e que fornece uma interface semelhante a SQL. Jaql manipula aninhamento muito bem, é extremamente orientada à função e altamente flexível. É útil para dados estruturados de forma solta e é a interface para o armazenamento de coluna HBase e para analítica de texto.
  • HBase— Um ambiente de armazenamento de dados NoSQL orientado por coluna projetado para suportar tabelas grandes esparsamente preenchidas no Hadoop.
  • Flume— Um serviço distribuído, confiável e disponível para mover de forma eficiente grandes quantias de dados à medida que forem produzidos. Flume é bem adequado para reunir logs de diversos sistemas e inserir os mesmos no Hadoop Distributed File System (HDFS) à medida que forem gerados.
  • Lucene— Uma biblioteca de mecanismo de procura que fornece procura de texto completa de alto desempenho.
  • Avro— Uma tecnologia de serialização de dados que usa JSON para definir tipos de dados e protocolos e serializa dados em um formato binário compacto.
  • ZooKeeper— Um serviço centralizado para manter informações de configuração e nomenclatura, fornecer sincronização distribuída e serviços de grupo.
  • Oozie— Um sistema planejador de fluxo de trabalho para gerenciar e orquestrar a execução de tarefas do Apache Hadoop.

Além disso, a distribuição do BigInsights inclui as seguintes tecnologias específicas da IBM:

  • BigSheets— Uma interface de descoberta e exploração semelhante a uma planilha baseada no navegador que permite que usuários de negócios reúnam e analisem dados facilmente e controlem o poder do Hadoop. Fornece leitores integrados que podem funcionar com dados em diversos formatos comuns, incluindo JSON, valor separado por vírgula (CSV) e valor separado por tabulação (TSV).
  • Analítica de Texto— Uma biblioteca pré-desenvolvida de anotadores de texto para entidades de negócios comuns. Fornece linguagem rica e conjunto de ferramentas para desenvolver anotadores de localização customizados.
  • Adaptive MapReduce— Uma solução de Pesquisa IBM para acelerar a execução de pequenas tarefas do MapReduce, alterando como as tarefas do MapReduce são manipuladas.

A Plataforma InfoSphere

InfoSphere é uma plataforma abrangente de integração de informações que inclui data warehousing e analítica, integração de informações, gerenciamento de dados principais, gerenciamento de ciclo de vida e segurança e privacidade de dados. A plataforma melhora os processos de desenvolvimento de aplicativos de forma que as organizações possam acelerar o tempo de valorização, reduzir custos de integração e aumentar a qualidade das informações.

Em geral, o BigInsights não é projetado para substituir um sistema de gerenciamento de banco de dados (DBMS) relacional tradicional nem data warehouses tradicionais. Especificamente, ele não está otimizado para consultas interativas sobre estruturas de dados tabulares, processamento analítico online (OLAP) ou aplicativos de processamento de transações online (OLTP). No entanto, como um componente da plataforma de big data da IBM, o BigInsights fornece pontos de integração em potencial com os outros componentes da plataforma, incluindo o data warehouse, a integração de dados e os mecanismos de controle, além de ferramentas analíticas de dados de terceiros. Como verá posteriormente neste artigo, também pode ser integrado ao InfoSphere Streams.


Stream Computing: Um Novo Paradigma

Stream computing é um novo paradigma necessário para novos cenários de geração de dados, como a ubiquidade de dispositivos móveis, serviços de localização e disseminação de sensores. Uma necessidade crucial emergiu para plataformas de computação escaláveis e arquiteturas paralelas que possam processar vastas quantias de dados de fluxo gerados.

As tecnologias do BigInsights não são adequadas para suportarem tarefas de processamento de fluxo em tempo real, pois são orientadas principalmente para suporte a processamento em lote de dados estáticos. No processamento de dados estáticos, uma consulta como Listar todos os usuários que têm conectado à rede resultará em um único conjunto de resultados. Com processamento em tempo real de dados de fluxo, é possível executar uma consulta contínua tais como Listar todos os usuários que têm conectado à rede nos últimos 10 minutos. Essa consulta retornará resultados continuamente atualizados. No mundo de dados estáticos, o usuário localiza a agulha no palheiro do provérbio; no mundo de dados de fluxo, o usuário localiza a agulha enquanto a palha está sendo soprada.

A Figura 2 ilustra a diferença entre os cálculos executados nos dados estáticos e aqueles executados nos dados de fluxo.

Figura 2. Cálculo de Dados Estáticos versus Cálculo de Dados de Fluxo
Cálculo de Dados Estáticos versus Cálculo de Dados de Fluxo

Em cálculo de dados estáticos (o lado esquerdo da Figura 2), perguntas são feitas sobre dados estáticos. Em cálculo de dados de fluxo (o lado direito), dados são constantemente avaliados por perguntas estáticas.

A plataforma do InfoSphere Streams suporta processamento em tempo real de dados de fluxo, permite os resultados de consultas contínuas a serem atualizadas ao longo do tempo e pode detectar insights dentro dos fluxos de dados que ainda estão em movimentação.


Visão Geral do InfoSphere Streams

O InfoSphere Streams é projetado para desvendar padrões significativos de informações em movimentação (fluxos de dados) durante uma janela de minutos a horas. A plataforma fornece valor de negócios suportando insight de baixa latência e melhores resultados para aplicativos sensíveis ao tempo, como detecção de fraude ou gerenciamento de rede. O InfoSphere Streams também pode fundir fluxos, permitindo a derivação de novos insights de diversos fluxos, conforme ilustrado na Figura 3.

Figura 3. Processamento de Fluxo Fundido
Processamento de Fluxo Fundido

Os principais objetivos de design do InfoSphere Streams são:

  • Responder rapidamente a eventos e condições e requisitos de negócios em mudança.
  • Suportar análise contínua de dados a taxas com magnitude maior do que dos sistemas existentes.
  • Adaptar rapidamente à alteração de formatos e tipos de dados.
  • Gerenciar alta disponibilidade, heterogeneidade e distribuição para o novo paradigma de fluxo.
  • Fornecer segurança e confidencialidade de informações para informações compartilhadas.

O InfoSphere Streams fornece um modelo de programação e IDE para definir fontes de dados e módulos analíticos de software chamados operadores fundidos em unidades de execução de processamento. Também fornece infraestrutura para suportar a composição de aplicativos de processamento de fluxo escalável desses componentes. Os componentes da plataforma principal são:

  • Ambiente de tempo de execução— Inclui os serviços de plataforma e um planejador para implementar e monitorar aplicativos Streams em um único host ou conjunto de hosts integrados.
  • Modelo de programação— É possível escrever aplicativos Streams usando a Streams Processing Language (SPL), uma linguagem declarativa. A linguagem é usada para indicar o que você deseja e o ambiente de tempo de execução aceita a responsabilidade de determinar a melhor maneira de atender a solicitação. Neste modelo, um aplicativo Streams é representado como um gráfico que consiste em operadores e os fluxos que conectam os mesmos.
  • Ferramentas de monitoramento e interfaces administrativas— Aplicativos Streams processam dados a velocidades muito mais altas do que aquelas que a coleção normal de utilitários de monitoramento do sistema operacional podem manipular de forma eficiente. O InfoSphere Streams fornece as ferramentas que podem lidar com esse ambiente.

Streams Processing Language

SPL, a linguagem de programação do InfoSphere Streams, é uma linguagem de composição de fluxo de dados distribuído. É uma linguagem extensível e completa, como C++ ou Java™ que suporta tipos de dados definidos pelo usuário. É possível escrever funções customizadas em SPL ou em uma linguagem nativa (C++ ou Java). É possível escrever operadores definidos pelo usuário em C++ ou Java.

Um aplicativo contínuo InfoSphere Streams descreve um gráfico direcionado composto por operadores individuais que interconectam e operam em diversos fluxos de dados. Os fluxos de dados podem vir de fora do sistema ou ser produzidos internamente como parte de um aplicativo. Os blocos de desenvolvimento básicos de programas SPL:

  • Fluxo— Uma sequência infinita de tuplas estruturadas. Pode ser consumido por operadores tupla a tupla ou por meio de uma definição de uma janela.
  • Tupla— Uma lista estruturada de atributos e seus tipos. Cada tupla em um fluxo tem o formato dedicado por seu tipo de fluxo.
  • Tipo de fluxo— Especifica o nome e o tipo de dados de cada atributo na tupla.
  • Janela— Um grupo de tuplas sequencial finito. Pode ser baseada em contagem, tempo, valor de atributo ou marcas de pontuação.
  • Operador— O bloco de desenvolvimento fundamental de SPL, seus operadores processam dados de fluxos e podem produzir novos fluxos.
  • Elemento de processamento (PE)— A unidade de execução fundamental. Um PE pode conter um único operador ou muitos operadores fundidos.
  • Tarefa— Um aplicativo Streams implementado para execução. Consiste em um ou mais PEs. Além de um conjunto de PEs, o compilador de SPL também gera um arquivo de Application Description Language (ADL) que descreve a estrutura do aplicativo. O arquivo ADL inclui detalhes sobre cada PE, co,mo qual arquivo binário carregar e executar, restrições de planejamento, formatos de fluxo e um gráfico de fluxo de dados do operador interno.

A Figura 4 ilustra a visualização do tempo de execução do InfoSphere Streams de programas SPL:

Figura 4. Execução do Tempo de Execução do InfoSphere
Execução do Tempo de Execução do InfoSphere

Um operador representa um transformador de fluxo reutilizável que transforma alguns fluxos de entrada em fluxos de saída. Em programas SPL, a chamada do operador implementa o uso específico de um operador, com fluxos de entrada e saída específicos designados e com parâmetros e lógica especificados localmente. Cada chamada de operador denomina os fluxos de entrada e saída. Vários operadores integrados do InfoSphere Streams oferecem uma gama de funções eficientes:

  • Source— Lê os dados de entrada no formato de fluxos.
  • Sink— Grava os dados dos fluxos de saída e, armazenamento ou sistemas externos.
  • Functor— Filtra, transforma e executa funções nos dados do fluxo de entrada.
  • Sort— Classifica dados em fluxo em chaves definidas.
  • Split— Divide os dados do fluxo de entrada em diversos fluxos de saída.
  • Join— Associa os dados dos fluxos de entrada em chaves definidas.
  • Aggregate— Agrega dados de fluxos em chaves definidas.
  • Barrier— Combina e coordena dados de fluxos.
  • Delay— Atrasa o fluxo de dados de um fluxo.
  • Punctor— Identifica grupos de dados que devem ser processados juntos.

O local no qual um fluxo conecta a um operador é chamado de livre. Muitos operadores (Functor, por exemplo) têm uma porta de entrada e uma porta de saída, mas operadores também podem ter zero portas de entrada (Source, por exemplo), zero portas de saída (Sink, por exemplo) ou diversas portas de entrada ou de saída (Split e Join, por exemplo). A Listagem 1 mostra um exemplo de SPL para Sink, que tem uma única porta de entrada e grava as tuplas de saída em um arquivo de disco.

Lista 1. Sink - Exemplo
() as Sink = FileSink(StreamIn) {
    param
    file : "/tmp/people.dat";
    format : csv;
    flush : 20u;
}

Na Listagem 1, file é um parâmetro obrigatório que fornece o caminho do arquivo de saída. O parâmetro flush limpa o buffer de saída após um determinado número de tuplas. O parâmetro format especifica o formato do arquivo de saída.

Um operador composto é uma coleção de operadores. Representa um encapsulamento de um subgráfico de operadores primitivos (não compostos) ou de operadores compostos (aninhados). É semelhante a uma macro em uma linguagem processual.

Uma aplicativo é representado por um operador composto principal que não tem portas de entrada nem de saída. Os dados fluem para dentro e para fora, mas não em fluxos em um gráfico e fluxos podem ser exportados e importados de outros aplicativos em execução na mesma instância. O código na Listagem 2 representa o esqueleto do operador composto principal.

Lista 2. Estrutura do Operador Composto Principal
composite Main {
    graph
    stream ... {
    }
    stream ... {
    }
    ...
}

Como um exemplo, pegue um aplicativo de fluxo simples chamado WordCount que conta as linhas e palavras de um arquivo. O programa consiste no gráfico de fluxo a seguir:

  • Uma chamada do operador Source que lê um arquivo e envia linhas ao fluxo de dados.
  • Uma chamada do operador Functor que conta as linhas e palavras de cada linha individual de dados e envia as estatísticas para seu fluxo de saída.
  • Uma chamada do operador Counter que agrega as estatísticas de todas as linhas no arquivo e imprime as mesmas no fim.

Antes de verificar o operador composto principal do WordCount, vou definir alguns auxiliares. Usarei um tipo LineStat para as estatísticas sobra a linha. Além disso, preciso desenvolver uma função countWords(rstring line) que conta as palavras em uma linha e uma função addM(mutable LineStat x, LineStat y) para incluir dois valores LineStat e armazenar o resultado. A Listagem 3 define esses auxiliares.

Lista 3. Definições de Auxiliares do WordCount
type LineStat = tuple<int32 lines, int32 words>; 

    int32 countWords(rstring line) {
        return size(tokenize(line, " \t", false));
    } 

    void addM(mutable LineStat x, LineStat y) {
        x.lines += y.lines;
        x.words += y.words;
    }

Agora, estou pronto para definir o operador composto principal, conforme mostrado na Listagem 4.

Lista 4. Operador Composto Principal do WordCount
composite WordCount { 

    graph
    stream<rstring line> Data = FileSource() {
        param file : getSubmissionTimeValue("file");
        format : line;
    } 
    stream<LineStat> OneLine = Functor(Data) {

        output OneLine : lines = 1, words = countWords(line);
    } 

    () as Counter = Custom(OneLine) { 

        logic state : mutable LineStat sum = { lines = 0, words = 0 };
        onTuple OneLine : addM(sum, OneLine);
        onPunct OneLine : if (currentPunct() == Sys.FinalMarker) 

        println(sum); 

        } 

}

Ambiente de desenvolvimento

O InfoSphere Streams fornece uma ambiente de desenvolvimento agile que consiste no Eclipse IDE, na visualização Streams Live Graph e em um depurador de fluxos. A plataforma também inclui kits de ferramentas que aceleram e simplificam o desenvolvimento de soluções para funcionalidades ou segmentos de mercado específicos:

  • Standard Toolkit— Contém os operadores padrão enviados com o produto:
    • Relational - operadores como Filter, Sort, Functor, Join, Punctor e Aggregate
    • Adapter - operadores como FileSource, FileSink, DirectoryScan e Export
    • Utility - operadores como Custom Split, DeDuplicate, Throttle, Union, Delay, ThreadedSplit, Barrier e DynamicFilter
  • Internet Toolkit— Inclui operadores como HTTP, FTP, HTTPS, FTPS e RSS.
  • Database Toolkit— Suporta DBMS, incluindo DB2®, Netezza, Oracle Database, SQL Server e MySQL.
  • Outros kits de ferramentas integrados— kits de ferramentas Financial, data mining, big data e text.

Experimente-o

Faça download de uma versão para 30 dias de teste completa de InfoSphere Streams.

Além disso, é possível definir seu próprios kits de ferramentas que fornecem conjuntos reutilizáveis de operadores e funções e permitem criar aceleradores para diversos domínios e específicos de domínios. Podem incluir operadores primitivos e compostos e podem usar funções nativas e SPL.


Integração e Interação entre o BigInsights e o InfoSphere Streams

Empresas que geram de forma contínua grandes volumes de dados valiosos de seus sistemas estão lutando contra o problema de analisar os dados por dois propósitos importantes: sentir e responder a eventos atuais em um prazo aceitável e fazer previsões de aprendizado com o histórico para guiar a resposta. Essa situação levanta a necessidade para o funcionamento transparente de análise de dados em movimentação (dados atuais) e de dados em descanso (dados históricos), operação em volumes massivos, variedades e velocidades de dados. A integração das plataformas de dados em movimentação (InfoSphere Streams) e de dados em descanso (BigInsights) da IBM aborda três principais cenários de aplicativos:

  • Alimentação escalável de dados— Alimentação contínua de dados do Streams para o BigInsights. Por exemplo, dados de texto não estruturados de fontes de mídia social, como Twitter e Facebook, geralmente precisam ser alimentados para extrair sentimento e dicas de vários tipos. Neste caso, é muito mais efetivo se a extração de texto for feita nos dados à medida que estiverem sendo alimentados e os dados irrelevantes, como spam, serão eliminados no início. Essa integração pode permitir que empresas evitem custos enormes de armazenamento desnecessário.
  • Autoinicialização e enriquecimento— Contexto histórico gerado a partir do BigInsights para autoinicializar analítica e enriquecer dados recebidos do Streams. O BigInsights pode ser usado para analisar dados que assimilou e integrou de várias fontes de dados contínuas e estáticas em uma grande janela de tempo. Resultados dessa análise fornecem contextos de várias analíticas online e servem para autoinicializar as mesmas em um estado conhecido. Retornando ao cenário de aplicativos de mídia social, uma mensagem recebida no Twitter tem somente o ID da pessoa que postou a mensagem. No entanto, os dados históricos podem aumentar essas informações com atributos, como o influenciador, criando uma oportunidade para uma analítica de recebimento de dados para tratar do sentimento expressado por esse usuário de forma apropriada.
  • Modelo de analítica adaptativa— Modelos gerados por operações analíticas, como mineração de dados, aprendizado de máquina ou modelagem estatística, no BigInsights. Podem ser usados como base para analítica de dados recebidos no Streams e atualizados com base em observações em tempo real.

As partes de dados em movimentação e de dados em descanso da plataforma de big data da IBM podem ser integradas por três tipos principais de componentes:

  • Analítica comum— Os mesmos recursos de analítica podem ser usados no Streams e no BigInsights.
  • Formatos de dados comuns— Os operadores de formatação do Streams podem transformar dados entre o formato de tupla do Streams e os formatos de dados usados pelo BigInsights.
  • Adaptadores de troca de dados— Os adaptadores do Streams Source e Sink podem ser usados para trocarem dados com o BigInsights.

Conclusão

Ajudar empresas a gerenciarem, analisarem e se beneficiarem de big data é a área chave de foco para a plataforma de big data da IBM. Neste artigo, você foi apresentado ao InfoSphere Streams, a plataforma de software da IBM para armazenar e analisar dados em movimentação (dados de fluxo). Você também obteve uma visão geral de como integrar o InfoSphere Streams ao BigInsights, a plataforma de software da IBM para armazenar e analisar dados em descanso, para enriquecer sua capacidade de obter analítica mais complexa. Muitas empresas reconhecem que capitalizar em big data é uma ferramenta de gerenciamento de informações importante para fornecer valor e vantagens de negócios exclusivos. Se estiver pronto para iniciar com o InfoSphere Streams, consulte Recursos para obter materiais treinamento e software gratuitos.

Recursos

Aprender

Obter produtos e tecnologias

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Information Management
ArticleID=939004
ArticleTitle=Uma Introdução ao InfoSphere Streams
publish-date=07312013