Data Workshop

Data Workshop es la plataforma para creación de proyectos complejos para implementar Machine Learning, Inteligencia artificial, API personalizados, ETL o Data-pipes personalizados y mucho mas. Es un area de trabajo para crear soluciones especializadas para resolver problemas especificos en toda organización que utiliza Data.

1444

ARPIA Machine Learning Development Environment

Al ARPIA ser una plataforma integral de administración de datos en una organización, las soluciones que se pueden crear en la plataforma son ilimitadas, al contar con herramientas completas de desarrollo, visualización, almacenamiento, procesamiento, integración y mucho más, su equipo de datos podrá implementar soluciones de todo tipo en ARPIA.

2400

Proyectos

Los proyectos son areas de trabajo dentro del ARPIA Data Workshop (DK-DW), en cada proyecto se agrupan diferentes tipos de objetos que caen en la siguiente clasificación dentro un flujo de una solución de datos.

1626

Objetos en un proyecto.

TipoDescripción
Data PipesUtilize los DataPipes de ARPIA para ingresar los datos de su modelo, puede extraer datos de MySQL, PostgreeSQL, CSV, JSON y ODBC hacia las tablas de su repositorio.
Extract, transform, prepareAquí van los objetos que le permiten extraer datos de fuentes complejas o no soportadas por DataPipes, o objetos que transforman o(y) preparan los datos existentes en el repositorio
Machine Learning
Train, Test, Predict
Crea objetos que te permiten entrenar, probar y modelos que pronostiquen resultados futuros utilizando algoritmos, librerías de Machine Learning para utilizar las tablas en el repositorio del proyecto.
Alerts Rules Estos objetos constan de objetos de desarrollo para el análisis complejo de reglas de datos para encontrar coincidencias y notificarlas como también las Reglas de Alertas que formen parte del proyecto.
Visualization Objetos que utilizan el motor de analítica de ARPIA para visualizar los resultados de los modelos y procesos de datos aplicados a los datos en los repositorios.
Data AppsCree aplicaciones que consumen los datos procesados en Data Workshop de manera sencilla y fácil. DataApps es el motor visual de ARPIA para la creación de apps que consumen datos.
Data DropletsCree aplicaciones que se ejecute en contenedores persistentes para recopilar, administrar o incluso entregar aplicaciones completas para los usuarios finales de su organización.

Creando un Proyecto

Para crear un proyecto en el Data Workshop solo requiere utilizar el icono de "+" a lado de la barra de búsqueda como lo muestra la siguiente imagen:

Esto abrirá la siguiente la pantalla de creación de proyecto el cual solicitara los campos necesarios para identificarlo.

Una vez el proyecto ha sido creado podrá crearle los diferentes objetos necesarios.

Ambientes de Desarrollo en Data Workshop

Actualmente ARPIA Data Workshop soporta los ambientes de desarrollo según la necesidad o especialidad necesaria, estos son:

PHP

Este ambiente le permite desarrollar aplicaciones o procesos rápidos que pueden ser utilizados para APIs, Web Applications, ETL y otros más. Actualmente los módulos instalados son:

Core, curl, date, ftp, gd, hash, iconv, imagick, imap, json, libxml, mbstring, mcrypt, mysqli, openssl, PDO pdo_sqlite, redis, SimpleXML, sqlite3, zip, zlib, xml, xmlreader, xmlwriter

Python

Este ambiente es el preferido para crear modelos de Machine Learning y análisis avanzados con su robusta librería de modelos y algoritmos para facilitar predicciones y AI en sus objetos de datos. Actualmente los módulos precargados son:

matplotlib, med2image, nibabel, pillow, pydicom, tensorflow, tensorflow-gpu, keras, mysqlclient, pyodbc, torch, torchvision, numpy, pandas, scipy, nltk, orjson.

WAC Web Application Container

Este ambiente le permite desarrollar aplicaciones web o APIs de consumo que persisten como servidores. Actualmente los módulos instalados son:

Core, curl, date, ftp, gd, hash, iconv, imagick, imap, json, libxml, mbstring, mcrypt, mysqli, openssl, PDO pdo_sqlite, redis, SimpleXML, sqlite3, zip, zlib, xml, xmlreader, xmlwriter, apache, mod_ssl, letsencrypt

La selección del ambiente se realiza al momento de crear objetos en el proyecto como lo muestra la siguiente imagen:

Que son Objetos de un Proyecto en DK-DW

Para crear una solución de AI completa requiere muchos elementos y procesos que la componen, para organizar mejor cada proyecto el mismo permite crear objetos que a su vez contienen procesos complejos que al ser agrupados resultan en una solución a una necesidad especifica.

Los tipos de Objetos entran en 2 categorias:

  • Objetos de Procesamiento
  • Objetos de Visualización

Objetos de Procesamiento

Los objetos de procesamiento son los objetos que permiten ejecutar codigos avanzados que leen, procesan, aplican modelos ML y almacenan los resultados al repositorio de datos del proyecto.

Objetos de Visualización

Los objetos de visualización son KnowGraphs de ARPIA que son utilizados para visualizar de forma muy sencilla utilizando el motor de visualización embebido de ARPIA. Cada KnowGraph que se crea en un proyecto el mismo esta disponible para los usuarios con permisos desde Insights.

DataApps

ARPIA incluye en su oferta un motor de diseño de aplicaciones que comparten componentes visuales y simplifican el trabajo requerido para crear pantallas fáciles de usar para usuarios dentro de su organización que requieren consumir los datos administrados por ARPIA. DataApps cuenta con su propia sección de documentación el cual podrá acceder en DataApps.

Objetos de Serverless (Containers)

Estos objetos permiten crear aplicaciones que corren permamentemente para poder ser utilizados para servir aplicaciones personalizados a usuarios o para crear APIs de integración que están esperando para ser consumidos en cualquier momento. Estos objetos se les permite estar prendido indefinidamente a contrario de los Objetos de Procesamiento que solo se ejecutan y retornan resultados de ejecución cada ves que son activados, no permanecen prendidos.

Recursos de Computing en Data Workshop

ARPIA utiliza Dockers para ejecutar los objetos de procesamiento y los de Daemon o de aplicaciones, los mismos permiten ser ejecutados de forma independiente y de forma segura, actualmente ARPIA utiliza dos ambientes de recursos para ejecutar estos contendores:

  • ARPIA Shared Container Resources el cual es recursos de computing compartidos a todo usuario que lo requiera dentro, es la forma más economica y controlada para implementar soluciones completas de Datos y solo pagar por el uso en dicho cluster.

  • ARPIA Dedicated Container Resources este ambiente es un cluster dedicado con sus propios recursos de computing asignados a una organización como tal, el mismo tiene consumo ilimitado de los recursos asignados y el mismo permite crecimiento ilimitado, este modelo no se cobra por uso sino por los recursos dedicados asignados.

Toda cuenta de ARPIA cuenta con acceso al ARPIA Shared Container Cluster, y el mismo se cobra por consumo del mismo a medida que se va utilizando.

📘

Acceso a ARPIA Dedicated Container Resources

Para acceder a este tipo de Recursos es necesario subir al plan Enterprise el cual le permite gozar de funcionalidades dedicadas.

Interface de Desarrollo en Data Workshop

Aparte de los objetos de visualización, todos los demas objetos ofrece una interface de desarrollo para crear aplicaciones de forma rapida y sencilla.

Si entramos a un objetos de procesamiento tipo Machine Learning podremos observar la siguiente imagen:

Cada objeto permite poder agregar más archivos los cuales serán compilados en el momento de ejecutar.

En el caso de objetos de visualización los mismos son KnowGraphs diseñados con la herramienta de visualización de ARPIA, como por ejemplo en nuestro proyecto demo:

Archivos Globales

Es posible crear archivos globales que son compartidos objetos del mismo tipo en todo el proyecto. Esto son útiles para la creación de librerías y funciones que serán compartidas a lo largo de todos los objetos del mismo lenguaje.

Para crear un archivo global, el mismo se crea desde cualquier objeto del proyecto al presionar crear archivo:

Cuando crea archivos globales los mismos se podrán observar en el listado a la izquierda como lo muestra la imagen:

Conectando al Repositorio de Datos del Proyecto

Todo proyecto al ser creado se le define el repositorio de trabajo, el repositorio contiene las tablas de datos que se utilizaran en los objetos del proyecto, este repositorio se define en el momento de la creación del proyecto en el DK-DW como lo muestra la siguiente imagen:

🚧

Una vez creado el proyecto el repositorio no puede ser cambiado. Recomendamos clonar el proyecto.

Una vez el repositorio ha sido definido en el proyecto, todos los objetos apuntaran a este repositorio para obtener sus datos.

Objetos de Desarrollo

En los objetos de desarrollo en su ambiente de programador, se incluyen instrucciones de como consumir el repositorio definido en proyecto que forma parte el objeto, como por ejemplo en nuestro objeto de python o php podremos encontrar un archivo llamado *welcome.py / welcome.php el cual se puede observar en la siguiente imagen:

El contenido de este archivo welcome permite conocer según la plataforma seleccionada la forma de conectarse al repositorio del proyecto.

Ejecutando el Proyectos y sus Objetos

Cada Objeto en un proyecto dependiendo si es soportado por el tipo del mismo permite ser ejecutado de forma individual, por ejemplo en los casos de Objetos de Procesos podemos ver la siguiente imagen:

Donde el Botón de *Run permite ver el flujo de ejecución del objeto como tal.

Clonar Proyectos y Objetos

En el Data Workshop le permitimos poder clonar los proyectos o objetos dentro de un proyecto para poder agilizar la reutilización de código o objetos. Esto permite simplificar el trabajo realizado y poder ejecutar dicho trabajo en otro repositorio. Cuando clona un objeto el mismo sera clonado dentro del proyecto a la que pertenece el objeto original. En el caso de clonar proyectos el mismo permite clonar un proyecto y definir un repositorio diferente.

🚧

Clonar un proyecto a otro repositorio

Cuando clone un proyecto a otro repositorio de datos es importante recrear las tablas que son utilizadas por el proyecto, las mismas no serán clonadas al repositorio destino en la clonación.

Programando la ejecución automatica de Proyectos

Una vez su proyecto esta listo, usted puede programar la ejecución del mismo de forma autómatico al presionar Calendarizar Ejecución en el listado de proyectos:

Una vez esto se abrira la pantalla de Calendarización el cual le permitira ajustar el estado de la ejecución que puede ser:
Enabled - Habiltado
Paused.- En Pausa
Disabled - Desabilitado

Ademas podras configurar los ajustes de los meses, días, y días de semana que se desea correr.

🚧

Horas de Ejecución de Proyectos

La ejecucion de los proyectos dependera de la configuracion que asigne el usuario, diseñado de esta manera para que la carga sea dinamica.