Integrar InfoSphere Streams con InfoSphere Data Explorer

Empujar registros de datos de Streams a Data Explorer usando BigIndex APIs

Aprenda cómo integrar InfoSphere® Streams con InfoSphere Data Explorer para habilitar a los operadores de Streams para conectarse con Data Explorer para insertar y actualizar registros. El artículo se enfoca en InfoSphere Streams 3.0 o mayor y en InfoSphere Data Explorer 8.2.2 o 8.2.3.

Roopa Vedagiri, Senior Staff Software Engineer, IBM

Roopa Vedagiri ha sido ingeniera senior de software en el equipo InfoSphere Streams en ISL durante dos años. Con nueve años de experiencia de TI en varios dominios, logró la certificación de maestría técnica en 2013 por su trabajo con InfoSphere Streams.



04-03-2014

Introducción

InfoSphere Streams es una plataforma de cómputo avanzada que habilita las aplicaciones desarrolladas por el usuario para ingerir, analizar y correlacionar información rápidamente conforme llega de miles de fuentes en tiempo real. Con InfoSphere Streams, usted puede analizar datos en movimiento y puede ampliar el valor de sistemas existentes integrándolos con aplicaciones diferentes. InfoSphere Streams también puede procesar datos estructurados y no estructurados. Incluye un conjunto de juegos de herramientas inter construidas que simplifican el desarrollo de las aplicaciones. Estos juegos de herramientas son componentes reutilizables que incluyen operadores, tipos y funciones. Los juegos de herramientas se clasifican ampliamente como juegos de herramientas estándares, que contiene operadores genéricos y juegos de herramientas especializados, que contienen operadores para manejar funciones específicas por dominio.

InfoSphere Streams Quick Start Edition

InfoSphere Streams Quick Start Edition es una versión gratuita, descargable, no de producción de InfoSphere Streams, una plataforma de cómputo de alto rendimiento que habilita a las aplicaciones desarrolladas por el usuario a ingerir, analizar y correlacionar información rápidamente conforme llega de miles de fuentes en tiempo real. Sin datos o límites de tiempo, InfoSphere Streams Quick Start Edition lo habilita a usted para experimentar con la computación stream en su propio ambiente único. Construya una poderosa plataforma de análisis que pueda manejar un caudal de procesamiento de datos increíblemente alto, hasta de millones de eventos o mensajes por segundo. Descargar InfoSphere Streams Quick Start Edition ahora.

InfoSphere Streams se puede conectar a InfoSphere Data Explorer usando el operador primitivo DataExplorerPush, que es parte de la plataforma de big data de IBM y uno de los juegos de herramientas especializados que se instala con InfoSphere Streams. El DataExplorerPush operador habilita a InfoSphere Streams a empujar datos en forma de registros a InfoSphere Data Explorer usando BigIndex APIs, como se muestra en la Figura 1. Los datos empujados a InfoSphere Data Explorer se indexan y utilizan en InfoSphere Data Explorer UIs.

Figura 1. Diagrama de Arquitectura del operador InfoSphere Streams DataExplorerPush
Image shows that DataExplorerPush sends record to Data Explorer

Lo que usted necesita saber y el software que necesita instalar

Este artículo supone que usted tiene las siguientes habilidades:

  • Un conocimiento y comprensión básicos de la infraestructura de InfoSphere Streams, Streams Processing Language (SPL), BigIndex APIs, Apache ZooKeeper e InfoSphere Data Explorer:
    • Se utiliza el operador InfoSphere Streams DataExplorerPush para empujar datos en forma de registros a InfoSphere Data Explorer utilizando BigIndex APIs.
    • BigIndex usa InfoSphere Data Explorer como su almacén de datos para todo el contenido ingerido a través de sus APIs.
    • ZooKeeper se usa para configurar un ambiente de agrupamiento. BigIndex usa ZooKeeper para mantener la configuración de InfoSphere Data Explorer y contiene sus detalles de conexión (endpoint, username y password) en el agrupamiento.

Asegúrese de que se instale y esté disponible el siguiente software:

  • InfoSphere Streams (3.0 o mayor)— Instalado en un sólo nodo o en un agrupamiento. Establecer la variable de ambiente STREAMS_INSTALL en el directorio de instalación de InfoSphere Streams.
  • InfoSphere Data Explorer 8.2.2 o 8.2.3— instalado y operando. Después de que se instala InfoSphere Data Explorer necesitará asegurarse de que se concluya la configuración adicional. Después de la instalación, puede encontrar los detalles adicionales de la configuración en el archivo ReleaseNotes.txt. El archivo ReleaseNotes.txt está en el directorio <DataExplorer_Install>/AppBuilder/bigindex/docs/bigindex.
  • Apache ZooKeeper— instalado y operando. La versión de ZooKeeper para cada versión de InfoSphere Data Explorer es diferente. Consulte la guía de instalación de InfoSphere Data Explorer para el detalle de los requisitos.
  • El operador DataExplorerPush de InfoSphere Streams usa BigIndex APIs para insertar registros en InfoSphere Data Explorer V8.2.2 y V8.2.3. Por lo tanto, se debe poder acceder a los archivos JAR respectivos desde el servidor de InfoSphere Streams. Si el servidor InfoSphere Data Explorer no está en el mismo nodo que InfoSphere Streams, se necesitará copiar la carpeta comprimida install-dir/AppBuilder/bigindex.zip desde el nodo donde está instalado InfoSphere Data Explorer a una ubicación a la que se pueda acceder desde InfoSphere Streams. Extraer el contenido de la carpeta bigindex.zip .

Crear o actualizar la configuración de un namespace ZooKeeper

Después de instalar InfoSphere Data Explorer y ZooKeeper, usted necesita crear o actualizar al namespace ZooKeeper para InfoSphere Data Explorer con la información de configuración de BigIndex y la información de instalación de InfoSphere Data Explorer.

Nota: La operación de importación o carga que está a punto de ejecutar reemplaza completamente cualquier configuración existente en el namespace ZooKeeper.

Para importar o cargar el archivo de modelo de entidad BigIndex en el namespace ZooKeeper escriba el comando ZooKeeper: java -jar bigindex-X.Y.Z.jar --properties-file ZooKeeper.properties --import-file configuration.xml --export-to-screen.

Para los pasos detallados acerca de cómo editar el archivo de configuración y cargarlo al namespace de ZooKeeper, consulte Crear o editar la configuración de BigIndex y Cargar el archivo de modelo de entidad en namespace de ZooKeeper .

Pasar las propiedades del archivo ZooKeeper y el archivo de modelo de entidad BigIndex al utilitario de la línea de comando, como se muestra en el Listado 1.

Listado 1. Archivo muestra de propiedades
 servers=testDep.in.ibm.com:1212 namespace=zookeeper

Usted también puede pasar las propiedades de ZooKeeper directamente en lugar de usar el archivo de propiedades escribiendo el comando java -jar bigindex-X.Y.Z.jar -n zookeeper -s testDep.in.ibm.com:1212 -i config.xml --export-to-screen.

El ejemplo del archivo de configuración ZookeeperExampleModel.xml está en el directorio <DataExplorer_Install>/bigindex/examples/bigindex for InfoSphere Data Explorer V8.2.2 o V8.2.3, como se muestra en el Listado 2.

Nota: En el ejemplo siguiente, se tienen dos tipos de entidad asociados con colecciones diferentes en el mismo servidor. Para acomodar servidores múltiples, definir una instancia adicional data-explorer-engine-instance y mejor mueva uno de los <serves> nodos bajo esto.

Listado 2. ZookeeperExampleModel of InfoSphere Data Explorer 8.2.3

Haga clic para ver la lista de códigos

Listado 2. ZookeeperExampleModel of InfoSphere Data Explorer 8.2.3

 <?xml version="1.0" encoding="UTF-8"?> <configuration> <data-stores> <cluster-collection-store collection-name="zookeeper-example-test-collection" name="zookeeper-example-store" total-shards="1"/> <cluster-collection-store collection-name="zookeeper-example-test-collection2" name="zookeeper-example-store2" total-shards="1"/> </data-stores> <entity-model> <!-- The store-name below should match the name you provide for the store above --> <!-- The name of the entity here should match the entity type in the example --> <entity-definition name="zk_entity_type" store-name="zookeeper-example-store" /> <entity-definition name="zk_entity_type2" store-name="zookeeper-example-store2" /> </entity-model> <data-sources> <data-explorer-engine-instance username="your-username" url="http://path-to-data-explorer-instance/
velocity.exe?v.app=api-soap&wsdl=1&use-types=true&" password="your-password" > <!-- The name here should match the name of any stores you created above --> <serves store-name="zookeeper-example-store" shard-number="1" total-shards="1"/> <serves store-name="zookeeper-example-store2" shard-number="1" total-shards="1" /> </data-explorer-engine-instance> </data-sources> </configuration>

Crear o editar la configuración BigIndex

Usted puede usar el archivo ZookeeperExampleModel.xml para crear un nuevo archivo de modelo de entidad. Modifique los valores de acuerdo a los requisitos y guárdelos como config.xml. Ver la lista siguiente de los elementos XML requeridos. Para mayores detalles, consulte la documentación en <DataExplorer_Install>/AppBuilder/bigindex/docs/bigindex directory.>

  • Editar el elemento XML data-stores. Asignar un collection-name y un store name. Usted puede escoger cualquier nombre, por ejemplo, zookeeper-collection1 y zookeeper-store1.
  • Editar el elemento XML entity-model. Asignar un entity-definition name y un store-name. Por ejemplo, el entity-definition name puede ser Tweet. Asegurarse que el store-name coincide con el store-name del proveedor bajo data-stores.
  • Editar el elemento XML data-source. Proporcionar valores para data-explorer-engine web url, username y password, como en este ejemplo: url="http://testserver:9080/vivisimo/cgi-bin/velocity?v.app=api-soap&wsdl=1&use-types=true. Editar el store-name. Asegurarse que el store-name coincide con store-name proporcionado bajo data-stores. Seleccionar el shard-number y total-shards con base en los requisitos del proyecto y la infraestructura disponible.

Cargar el archivo de modelo de entidad en namespace de ZooKeeper

Para cargar el modelo de entidad, siga estos pasos:

  • Para InfoSphere Data Explorer 8.2.2 y versiones posteriores, use <DataExplorer_Install>/AppBuilder/bigindex/lib/bigindex.X.Y.Z.jar.
  • Luego, necesita crear o actualizar el namespace de ZooKeeper usando el archivo config.xml. Pase el archivo de configuración creado en la sección anterior y proporcione el número de puerto ZooKeeper (el puerto predeterminado es 2181) y el nombre del servidor. Escriba el comando java -jar bigindex-X.Y.Z.jar -n zookeeper -s testDep.in.ibm.com:1212 -i ~/config.xml
    • -n: Se refiere al namespace de ZooKeeper.
    • -s: Se refiere al host y al puerto del servidor ZooKeeper.
    • -i: Se refiere al archivo de configuración.

    Nota: El operador de InfoSphere Streams requiere los siguientes parámetros:

    • El nombre de entity-definition bajo el entity-model del archivo config.xml necesita pasarse al parámetro InfoSphere Streams recordType.
    • El zookeeperNamespace se pasa al comando Java™ en el paso del modelo de carga. En este ejemplo es zookeeper. Tomar nota de ZookeeperEndpoints, que son el host y el puerto del servidor ZooKeeper. En este ejemplo, el host es testDep.in.ibm.com y el puerto es 1212.
 java -jar bigindex-X.Y.Z.jar -n zookeeper -s testDep.in.ibm.com:1212 -i ~/config.xml

Ejecutar una muestra de la aplicación InfoSphere Streams usando el operador DataExplorerPush

Esta muestra de aplicación demuestra cómo usar el operador InfoSphere Streams DataExplorerPush para empujar datos a InfoSphere Data Explorer:

  • Establecer la variable del ambiente STREAMS_INSTALL en el directorio de instalación de InfoSphere Streams.
  • Establecer la variable del ambiente BIGSEARCH_JAR a la ubicación del archivo .jar. Por ejemplo, para InfoSphere Data Explorer 8.2.2 o 8.2.3, si el archivo .zip <install-dir>/AppBuilder/bigindex.zip se copia y se extrae a /opt/DataExplorer/bigindex, el comando de exportación BIGSEARCH_JAR='/opt/DataExplorer/bigindex/lib/bigindex-x.jar. Se reemplaza x con la versión correcta del archivo BigIndex .jar.
  • La aplicación muestra DataExplorerPush se puede encontrar en el directorio $STREAMS_INSTALL/toolkits/com.ibm.streams.bigdata/samples/DataExplorerPush. El contenido del directorio incluye el archivo fuente Streams Programming Language (SPL), el makefile, info.xml y los subdirectorios de datos y etc. El directorio etc contiene el documento connections.txt
  • Usando el siguiente comando, cree un directorio nuevo —sample1, por ejemplo — en su directorio base y copie las muestras DataExplorerPush a este directorio.
     cp -R $STREAMS_INSTALL/toolkits/com.ibm.streams.bigdata/samples/DataExplorerPush $HOME/sample1/
  • Editar el archivo etc/connections.txt file con información acerca de su conexión a InfoSphere Data Explorer. Proporcione ZooKeeperNamespace y ZooKeeperEndpoints.
  • Editar el archivo fuente SPL. Actualizar el parámetro recordType. Este es el mismo que el nombre entity-definition.
  • Construir la muestra ejecutando make. De manera predeterminada, la aplicación muestra se compila como una aplicación distribuida. Para compilar la aplicación como una aplicación independiente, ejecute make standalone:
    • Si compiló la muestra como independiente, use el siguiente comando para ejecutar la aplicación muestra: ./output/bin/standalone.
    • Si usted compiló la muestra como distribuida, use el comando siguiente para ejecutar la aplicación muestra: streamtool submitjob DataPushExplorerMain.adl -i instancename.
    • Para crear una instancia InfoSphere Streams, use el comando streamtool mkinstance Para obtener instrucciones detalladas para crear una instancia Streams, ejecute streamtool help.

Ver los resultados de la aplicación muestra

El archivo Tweet.txt en la carpeta de datos se lee por el operador FileSource y se envían tuples al operador DataExplorerPush Se crean registros a partir de estos tuples, uno por tuple y se empujan a InfoSphere Data Explorer. Para ver los registros indexados en la consola de InfoSphere Data Explorer siga estos pasos:

Nota: Confirmar que ha terminado los pasos de configuración adicionales que se describen en el archivo ReleaseNotes.txt que está en el directorio <DataExplorer_Install>/AppBuilder/bigindex/docs/bigindex. Si no se ejecutan estos pasos adicionales de configuración, usted no puede usar la herramienta admin para buscar instancias de InfoSphere Data Explorer que contengan datos BigIndex. Los datos BigIndex se almacenan en arenas de Data Explorer, que no tienen soporte en el despliegue del usuario final. Sin embargo, usted puede en una arena a la vez usando el método descrito en el archivo InfoSphere Data Explorer ReleaseNotes.txt.

  • Después de habilitar el InfoSphere Data Explorer con la solución para buscar los datos almacenados en las arenas, inicie sesión en la consola del InfoSphere Data Explorer en http://DEP_HOST:PORT/vivisimo/cgi-bin/admin.
  • Seleccionar Búsqueda de Colecciones bajo la herramienta de administración en el panel izquierdo de la consola admin.
Figura 2. Herramienta admin de Búsqueda de Colecciones
Image shows search collections admin tool
  • Hacer clic en el nombre de colección que se usa en la aplicación InfoSphere Streams.
Figura 3. Nombres para colecciones de motores de búsqueda
Image shows list of names for search engine collections
  • En el panel izquierdo de la página de la consola admin de InfoSphere Data Explorer, hacer clic en query-meta.
Figura 4. Probar el proyecto con el vínculo query-meta
Image shows test project with query-meta link
  • Modificar la URL agregando &arena=<recordType>. En este ejemplo, debido a que el recordType es Tweet agregar &arena=Tweet a la URL. La URL muestra es similar a http://testserver:9080/vivisimo/cgi-bin/query-meta?v%3Asources=DEP3-r6_1_1&v%3Aproject=query-meta &arena=Tweet. La página de resultados lista todos los registros para la arena seleccionada.
Figura 5. Tweets en una ventana de resultados
Image shows list of tweets in a results window

Resumen

InfoSphere Streams se puede integrar con InfoSphere Data Explorer usando el operador InfoSphere Streams DataExplorerPush. Este artículo describe los pasos para habilitar la integración y muestra la forma de ejecutar las muestras de InfoSphere Streams para empujar los datos y ver los resultados en la consola Web de InfoSphere Data Explorer.

Reconocimientos

Gracias a Manasa K. Rao y Scott Linder por su revisión y ayuda.

Recursos

Aprender

Obtener los productos y tecnologías

Comentar

Comentarios

developerWorks: Ingrese

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


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

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

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Information mgmt
ArticleID=967027
ArticleTitle=Integrar InfoSphere Streams con InfoSphere Data Explorer
publish-date=03042014