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.

DataKubes Machine Learning Development Environment
Al DataKubes 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 DataKubes.

Proyectos
Los proyectos son areas de trabajo dentro del DataKubes 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.

Objetos en un proyecto.
Tipo | Descripción |
---|---|
Data Pipes | Utilize los DataPipes de DataKubes 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, prepare | Aquí 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 DataKubes para visualizar los resultados de los modelos y procesos de datos aplicados a los datos en los repositorios. |
Data Apps | Cree aplicaciones que consumen los datos procesados en Data Workshop de manera sencilla y fácil. DataApps es el motor visual de DataKubes para la creación de apps que consumen datos. |
Serverless Application | Cree 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 DataKubes Data Workshop soportan 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 Kubes o Cubos de DataKubes que son utilizados para visualizar de forma muy sencilla utilizando el motor de visualización embebido de DataKubes. Cada Kube que se crea en un proyecto el mismo esta disponible para los usuarios con permisos desde Insights.
DataApps

DataKubes 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 DataKubes. 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
DataKubes 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 DataKubes utiliza dos ambientes de recursos para ejecutar estos contendores:
-
DataKubes 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.
-
DataKubes 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 DataKubes cuenta con acceso al DK Shared Container Cluster, y el mismo se cobra por consumo del mismo a medida que se va utilizando.
Acceso a DK 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 Kubes diseñados con la herramienta de visualización de DataKubes, 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.

Para los casos de objetos tipo serverless o daemon los mismos muestran opciones adicionales como reiniciar, encender y apagar para poder controlar los servicios que esos objetos brindan, por ejemplo la siguiente imagen:

Ademas de las opciones de control el sistema permite mostrar el status actual del contenedor serverless.
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
En DataKubes hemos programado que todos los proyectos correrán a las 2AM de los días en la cual su programación aplique. Y se ejecutara en el orden que de forma interna se le ha asignado.
Updated almost 2 years ago