Avançar para a área de conteúdo

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

A primeira vez que acessar o developerWorks, um perfil será criado para você. Informações do seu perfil (tais como: nome, país / região, e empresa) estarão disponíveis ao público, que poderá acompanhar qualquer conteúdo que você publicar. Seu perfil no developerWorks pode ser atualizado a qualquer momento.

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

  • Fechar [x]

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.

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

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

  • Fechar [x]

Migrando os aplicativos SPADE do InfoSphere Streams para SPL, Parte 3: Migrar aplicativos SPADE com funções definidas pelo usuário

Um guia introdutório de exemplos

Kevin Erickson, Senior Software Engineer, I.B.M.
Photo of Kevin Erickson
Kevin Erickson passou a fazer parte da IBM em Rochester, MN, em 1981, como engenheiro eletricista trabalhando no desenvolvimento e teste de unidades de disco rígido. Ele contribuiu para uma grande variedade de produtos e tecnologias IBM, desde sistemas de controle de servomecanismo de eixo e atuador de disco rígido até componentes de kernel do sistema operacional do AS/400 e sucessor. Mais recentemente, Kevin trabalhou no teste de desempenho do supercomputador Roadrunner, o primeiro computador a quebrar a barreira de 1 petaflop. Em 2009, ele se transferiu para o Software Group para trabalhar com a equipe do InfoSphere Streams, primariamente em diversas funções relacionadas a testes. Ao longo de sua carreira na IBM, Kevin recebeu 14 patentes nos EUA e várias em outros países. Ele possui bacharelado em Engenharia Elétrica da Universidade de Minnesota.
Richard P. King, Senior Programmer, IBM
Richard King é membro da equipe do InfoSphere Streams há vários anos. Quando ele passou a fazer parte da IBM em 1977, trabalhou como Associate Programmer no desenvolvimento do System/38. Desde sua transferência para a Research Division da IBM no IBM Thomas J. Watson Research Center in Yorktown em 1981, ele trabalhou em uma ampla gama de projetos, incluindo o design e o desenvolvimento do que se tornou a IBM Sysplex Coupling Facility. Richard é bacharel em Engenharia Industrial e Pesquisa de Operações pela Universidade Cornell e mestre em Pesquisa de Operações e Engenharia Industrial pela Universidade Northwestern.

Resumo:  O novo recurso mais significativo da Versão 2.0 do produto IBM InfoSphere® Streams é a transformação do modelo de linguagem de programação de Stream Processing Application Declarative Engine (SPADE) para Stream Processing Language (SPL). Os usuários com aplicativos SPADE de versões anteriores precisarão migrar e portar seus aplicativos para SPL ao atualizar suas instalações para a Versão 2.0. Este tutorial é a Parte 3 de uma série com 5 partes que usa exemplos reais de SPADE para demonstrar uma série de procedimentos detalhados para migrar e portar diferentes tipos de conteúdo de aplicativos SPADE. A Parte 3 demonstra a migração de aplicativos SPADE com funções definidas pelo usuário.

Visualizar mais conteúdo nesta série

Data:  18/Jul/2011
Nível:  Intermediário

Atividade:  2895 visualizações

Portando os arquivos de cabeçalho, implementação e makefile do SPADE

A próxima etapa no processo de portabilidade é copiar os diversos arquivos relacionados à implementação do SPADE para a estrutura de diretórios do aplicativo SPL e mudar o conteúdo conforme o necessário para estar de acordo com o ambiente de SPL. Realize as seguintes etapas.

  1. Crie diretórios opt, opt/lib e opt/include e mude os diretórios para o diretório opt.
    cd ~/migrationsamples/udf/myspl
    mkdir -p opt/lib
    mkdir -p opt/include
    cd opt
    

  2. Copie os arquivos de cabeçalho C++, o arquivo de implementação e o makefile do diretório de implementação do SPADE para o diretório de trabalho atual.
    cp ~/migrationsamples/udf/opt/CalculateStateTax*.h .
    cp ~/migrationsamples/udf/opt/CalculateStateTax*.cpp .
    cp ~/migrationsamples/udf/opt/Makefile .
    

  3. Complete as etapas nas seções a seguir.

Portando o arquivo de função em linha

  1. Edite CalculateStateTaxInline.h.
    my_editor CalculateStateTaxInline.h &
    

  2. Substitua
    // include this to get access to spade functions and types
    #include <DPS/PH/DpsFunctions.h>

    por
    // Include this to get access to SPL functions and types
    #include <SPL/Runtime/Function/SPLFunctions.h>
    

  3. Para o comentário de namespace e final de namespace, substitua TAX_CALCULATION por
    functions
    

  4. Para a função getShipmentTrackingNumber(), substitua DPS::hashCode por
    SPL::Functions::Utility::hashCode
    

  5. Para a função getShipmentTrackingNumber(), substitua DPS::absval por
    SPL::Functions::Math::abs
    

  6. Como opção, exclua todas as linhas @spadeudf no arquivo.
  7. Salve e saia de my_editor.

Portando os arquivos de função de biblioteca

  1. Edite CalculateStateTaxLibrary.h
    my_editor CalculateStateTaxLibrary.h &
    

  2. Para o comentário de namespace e final de namespace, substitua TAX_CALCULATION_LIBRARY por
    functions
    

  3. Como opção, exclua todas as linhas @spadeudf no arquivo.
  4. Salve e saia de my_editor.
  5. Edite CalculateStateTaxLibrary.cpp
    my_editor CalculateStateTaxLibrary.cpp &
    

  6. Substitua #include <DPS/PH/DpsFunctions.h> por
    // Include this to get access to SPL functions and types
    #include <SPL/Runtime/Function/SPLFunctions.h>
    

  7. Para a função libGetStateTaxPercentage(), a função libGetTotalTax(), e a função libGetShipmentTrackingNumber(), substitua TAX_CALCULATION_LIBRARY por
    functions
    

  8. Para a função libGetShipmentTrackingNumber(), substitua DPS::hashCode por
    SPL::Functions::Utility::hashCode
    

  9. Para a função libGetShipmentTrackingNumber(), substitua DPS::absval por
    SPL::Functions::Math::abs
    

  10. Salve e saia de my_editor.

Portando o arquivo makefile

  1. Edite o makefile.
    my_editor Makefile &
    

  2. Substitua globalmente dst-pe-install por
    dst-spl-pe-install
    

  3. Salve e saia de my_editor.

6 de 10 | Anterior | Próximo

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Information Management
ArticleID=699981
TutorialTitle=Migrando os aplicativos SPADE do InfoSphere Streams para SPL, Parte 3: Migrar aplicativos SPADE com funções definidas pelo usuário
publish-date=07182011
author1-email=kjerick@us.ibm.com
author1-email-cc=
author2-email=rpk@us.ibm.com
author2-email-cc=