49 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.
50 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.
51 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.
52 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Explorar algunas herramientas Big Query.
53 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Elegimos BigQuery-public-data y nos mostrará una lista de ejemplos de Dataset con los cuales podemos trabajar.
54 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.
55 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Pub/Sub
56 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.
57 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Dataflow
58 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Este servicio nos permite trabajar mediante Jobs, los cuales pueden ser a través de un template y ya vienen preconfigurados distintos templates. Los templates permiten, por ejemplo, conectarte desde un Pub/Sub a BigQuery.
59 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Data Catalog
60 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.
61 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Data Catalog permite almacenar toda la meta data de los procesos desde la ingesta hasta los repositorios.
62 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Vertex IA
63 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Visión
64 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.
65 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Document AI
66 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.
67 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Speech-to-Text
68 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.
69 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Natural Language
70 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.
71 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Pipelines de datos Veamos los distintos tipos de Pipelines que podemos construir. Primero los Pipelines en tiempo real, esta opción es aplicada a distinto tipos de uso y son muy interesantes desde el punto de vista de la ingesta de datos y del volumen de información. Típicamente estos datos se registran de una forma continua y necesitan ser procesados en el momento lo más cercano a la generación del dato. Hay otros tipos de datos y ejemplos que son agendamientos Bach. Este tipo de agendamiento típicamente son por la noche o en la medida que se van generando se almacenan esto registros y se van haciendo estas cargas, pero de una forma mucho más dispersadas en el tiempo. Y por último están los tipos de ingesta que son a través de trigger que nosotros necesitamos tener ciertas señales en el momento que se genera un determinado dato y esas señales activan un flujo de ingesta de datos. Por lo tanto, dentro del ecosistema de Google Cloud existen distintas alternativas para solucionar las problemáticas mencionadas anteriormente.
72 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Para toda la ingesta en tiempo real hablaremos de Cloud Pub/Sub y Cloud Dataflow. Para el agendamiento Bach hablaremos Cloud Dataflow y para la parte de Triggered que son Bach vamos a hablar de Cloud Functions. Y un servicio que es fundamental es el orquestador, Cloud Composer. Partamos por los ejemplos de tiempo real, cuando necesitamos hacer una subscripción a un determinado tópico que se genera en tiempo real se utiliza Pub/Sub. Este conector nos permite tomar esos datos en Near Real Time y llevarlos a un repositorio o llevarlo a un Dataflow para hacer algún tipo de transformación, filtro o agrupamiento de datos. Luego todo lo que tiene que ver con los casos de ejemplo de ingesta bash, vamos a utilizar cloud Dataflow. En estos casos típicamente lo que se hace es tomar un volumen de información, una interfaz o un archivo de origen y aplicarle transformaciones para luego ser cargadas en un repositorio como BigQuery. Y por último cloud Functions, nos permite interactuar de una forma de Trigger en la medida que se van generando distintas señales en el flujo de datos, a partir de esas señales se pueden activar las Cloud Functions que permitan generar una siguiente acción, esta siguiente acción puede ser una notificación o puede ser incluso que despierte a otro servicio para que empiece a funcionar. La orquestación como parte de este proceso es relevante dado que en la medida que se genera estas acciones de ingesta de datos, permitan ir
73 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. controlando si ese proceso funcionó de forma correcta o se generó algún tipo de problema que tenga que ser notificado, y esas notificaciones permiten al equipo de Data Engeneer poder estar atento a reprocesar alguna carga de datos o ingesta hacia tu Data Lake. Google Cloud Dataflow Dataflow es un servicio de datos totalmente administrado que simplifica el desarrollo y la administración de flujos y pipelines. Adicionalmente esta interfaz permite acelerar el desarrollo de streaming y Bach. También permite facilitar la gestión y tener una operación mucho más simplificada. Y por último nos permite construir la base para poder llegar a la generación de nuestros modelos de Machine Learning. Todos los flujos están disponibles como Templates y los podemos utilizar como aceleradores. Por ejemplo, si tenemos un caso de uso como la necesidad de conectarse con Cloud Storage con Dataflow y llevarlo hacia Big Query, eso ya existe en un template. Los templates permite acelerar la construcción y el desarrollo de estos Pipeline.
74 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Entonces cuando se tiene un flujo de datos Bach se utiliza Cloud Dataflow ya que existen template que están clasificados y que tienen distintos orígenes y distintos destinos. Dataflow nos permite filtrar ciertos datos que no se requieren guardar en el repositorio y también permite filtrar y agrupar para tener una gestión más avanzada respecto al flujo de datos y por último existe la posibilidad de filtrar, agrupar y también separar en distintas ventanas, dependiendo el ordenamiento que se requiere en los datos. Y en el caso de que se tengan casos en streaming también funciona de una forma similar, se puede aplicar los mismos tres conceptos de filtrado, filtrado y agrupado, o filtrado, agrupado y separación de ventanas. Por lo tanto, cualquier combinación que se necesita aplicar para resolver el problema de datos está disponible en Cloud Dataflow.
75 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Google Cloud BigQuery En este punto puede analizar cuáles características se pueden aplicar en tu empresa. Primero es un Warehouse empresarial totalmente administrado sin ningún tipo de infraestructura a lo cual se le llama Serveless. También una de las principales características es que escala a petabites de información y mantiene un perfonamance muy rápido. Está disponible en múltiples regiones donde se puede habilitar el servicio de BigQuery. Otra característica importante es que permite separar el almacenamiento del cómputo. Qué otra característica podemos destacar de BigQuery. En temas de gobierno permite aplicar el concepto de mínimo privilegio, lo que significa que se pueden ir otorgando, dependiendo el rol y el perfil del usuario distintos permisos para que acceda a BigQuery. Y también se puede controlar el acceso a través de clases de datos para datos estructurados.
76 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Como arquitectura, los principales compones de BigQuery son: Primero se tiene una ingesta en tiempo real o una ingesta en tiempo Bach, se tiene separado el Storage del cómputo lo que nos permite tener una disponibilidad del servicio en un 99.9999999999% en cualquier región del mundo y algunos elementos importantes: BigQuery es un estándar SQL:ANSI, funciona a través de una API REST donde se puede integrar con distintos servicio, tiene una interfaz web fácil de usar donde los analistas se puede conectar y hacer el trabajo directamente sobre la interfaz gráfica. Y por último podemos usar más de 7 librerías que estarán disponibles para los distintos usuarios. Eso a alto nivel es la arquitectura de BigQuery.
77 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Veamos un ejemplo práctico para ver la separación del almacenamiento y del cómputo y por qué es la alternativa más efectiva. Este es un ejemplo: Tenemos el servicio de BigQuery donde vamos a estar procesando la información y podríamos tener tres tipos de almacenamiento. Ese almacenamiento podría estar en Cloud Storage (archivos), podría estar en BigQuery Storage (tablas) o en Cloud Bigtable (NoSQL) si el caso de uso requiere utilizar información NoOnlySQL. Otras herramientas de procesamiento para estos orígenes de datos podrían ser: Cloud Dataflow o Cloud Dataproc. Ambos servicios permiten interactuar con Cloud Storage, BigQuery Storage o Cloud Bigtable. Por último, cuando los analistas quieran realizar algún tipo de procesamiento y Machine Learning pueden contactarse directamente desde Vertex AI hacia las mismas tres herramientas ya mencionadas.
78 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Entonces cómo funciona el ecosistema de BigQuery. Principalmente te permite ser el repositorio o el data warehouse de tu data Lake. Entonces tenemos una serie de formatos de archivos que se pueden almacenar en un Storeage, por ejemplo datos csv, json, xml, archivos de audio, archivos PDF, imágnes, videos, archivos Avro, archivos parquet y a través de un esquema federado esa información estructurada llevarla hacia BigQuery. Entonces podemos usar distintos servicios de procesamiento de información para poder conectarnos a estas fuentes que están en el Data Lake e ingestarla en BigQuery. También podemos hacer procesamiento de esta información no estructurada, transformarla y estructurarla para almacenarla en BigQuery. Entonces la cantidad de casos de usos que podemos resolver con este servicio es muy amplia, desde los datos estructurados hasta datos no estructurados que los vamos a procesar y los vamos a estructurar para almacenarlos en BigQuery.
79 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Otra de las ventajas es que BigQuery incorpora un motor de Machin Learning por lo tanto los analista y los Data Scientists pueden ejecutar modelos de Machin Learning, sin mover los datos de BigQuiery, también pueden iterar estos modelos utilizando código SQL ANSI para aumentar la velocidad de desarrllo y también pueden automatizar estas cargas de trabajo para seleccionar el mejor modelo y hacer un HiperTuning esto permite obtener mejores resultados en cada una de las iteraciones del modelo para encontrar la mejor alternativa. BigQuery ML para Data Analyst y Data Scientist Veamos un ejemplo práctico para mostrar cómo funciona BigQuery ML: Vamos a hacer un CREATE MODEL en un lenguaje SQL ANSI y luego en un paso 2 vamos a hacer una predicción. Todo dentro de un modelo BigQuery ML. Esto lo vamos a hacer en una práctica más adelante. Otra de las funcionalidades es que se puede trabajar con datos de información geográfica y localización dentro de BigQuery. Por ejemplo, se pueden hacer análisis geoespaciales del tipo Geography en distintos formatos como GeoJSON y WKT. También se tiene un soporte a funciones de tipo GIS para hacer distintos tipos de medidas, transformaciones, hacer distintas construcciones de datos y todo eso poder graficarlo de una forma fácil dentro de nuestra plataforma de DataStudio.
80 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Otra funcionalidad de BigQuery es la posibilidad de conectarse con Sheets lo cual permite que un usuario que no tiene conocimiento de SQL pueda interactuar con los datos de BigQuery desde una planilla de Sheets, esto acelera la búsqueda de Insight y permite trabajar en un entorno amigable y conocido por los Data Analyst. Otra funcionalidad es ver datos de BigQuery con Data Studio Explorer. Se puede hacer una exploración en una interfaz gráfica que nos permita comunicarnos y generar distintos tipos de gráficos de una forma sencilla a través de la interfaz de DataStudio conectado con los datos de BigQuery.
81 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Google Cloud Pub/Sub Pab/Sub es un servicio de mensajería que permite la ingesta y la entrega de eventos escalables y persistentes. También se pueden establecer distintos patrones de publicación y de subscripción. Es un servicio que se puede encontrar en la red global de Google Cloud por lo tanto tiene una escalabilidad muy alta y permite resolver casos de uso que escalan de 0 a millones de registros en pocos segundos. También es importante saber que Pub/Sub se integra con otros servicios de Google Cloud como Dataflow, Cloud Storage o BIgQuery.
82 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. En la imagen anterior podemos observar que el servicio de Cloud Pub/Sub se encuentra en la etapa de Captura de la Big Data. El siguiente diagrama muestra cómo funciona Pub/Sub Se pueden tener distintos sistemas que generan eventos en tiempo real. Estos eventos se pueden conectar con Pub/Sub y lo podemos llevar a distintos destinos y
83 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. esos destinos pueden servir para analizar la información en Tiempo Real. Por ejemplo, se puede tener un evento que se genera en Cloud Logs y pasarlo a Pub/Sub, suscribir a ese tópico y publicarlo en Dataflow para luego cargar estos eventos en un repositorio como BigQuery. Otro ejemplo, podemos tomar archivos desde un Cloud Storage, conectarlo con Pub/Sab y llevarlo hacia un Dataflow para cargarlo también en un repositorio como BigQuery. Pero cómo funciona. Primero se tiene un publicador de eventos (Publisher) el cual genera mensajes los cuales van hacia un tópico. Ese tópico se define en Pub/Sub, luego para poder hacer esa subscripción ese mensaje se va a un Subscriber. Esa es la lógica en la cual vamos a implementar cualquier servicio de Pub/Sub. A continuación, veremos algunos ejemplos y patrones de distintas alternativas que podrían configurarse. Primero: Se tiene un Publisher, el mensaje, El tópico, La subscripción, el mensaje que sale de Pub/Sub y va al Subcriber.
84 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Otro patrón es tener Distintos Publisher que van a estar generando distintos mensajes los cuales van a un solo tópico en Pub/Sub, y luego ese tópico se conecta con una subscripción y podría entregar a múltiples subscriber distintos mensajes por lo tanto los colores de los mensajes nos permite ver el flujo de los mensajes desde el Publisher hasta el Subscriber. Este flujo es configurado dependiendo de a dónde se desea mandar cada mensaje.
85 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Otro patrón es. Podemos tener un Publisher que genera distintos mensajes que van a un solo tópico pero que se mandan a dos suscripciones diferentes los cuales manda dichos mensajes a distintos Subscriber. Cuando hablamos de métodos de entrega tenemos dos opciones. Uno, que sea Pull Subscription Dos, que sea Push Subscription.
86 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. Estas son las dos diferencias donde en el primer caso tenemos un Pull, donde desde el Subscriber manda esa señal y envía el mensaje, y en el caso del Push simplemente va a estar la comunicación desde el Pub/Sub hacia el Subcriber. Por lo tanto, los mensajes se pueden entregar en cualquier orden, pero la entrega va a estar siempre garantizada y vamos a tener un EndPoint, un API REST endpoints donde vamos a poder conectarnos a estar mensajería. Semántica de PUB/SUB Cuando tenemos grandes generadores de mensajes es posible que esos mensajes se entreguen fuera de orden, pero si se necesita entregar esos mensajes de manera ordenada lo que se hace es integrar Pub/Sub con Dataflow para agregar un template que permita ordenar esos mensajes y entregarlo en el orden que fueron ordenados esos mensajes. Y el segundo, también se pueden duplicar esos mensajes por lo tanto podemos usar Dataflow para filtrar todos esos mensajes duplicados y solamente dejar los que corresponden. Una manera de resolver esta problemática es integrar Pub/Sub con Dataflow
87 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. INTEGRACIÓN DE DATOS CON BIGQUERY Y DATA STUDIO Veamos un caso práctico donde usaremos un conjunto de datos de BigQuery y los visualizaremos desde Data Studio. Realicemos los siguientes pasos: 1. Entremos a Google Cloud Platform 2. Seleccionemos BigQuery 3. Habilitar el conjunto de datos público (bigquery-public-data) 4. Damos clic en los tres puntos que se encuentran a la derecha de “Explorador” 5. Seleccionamos “AGREGAR DATOS”. 6. Luego “Explorar conjuntos de datos públicos” 7. Nos mostrará la siguiente pantalla
88 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. 8. Seleccionamos la categoría Analítica. 9. Buscamos la opción Google Cloud Release Notes.
89 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. 10.Después de seleccionar Google Cloud Release Notes aparecerá la siguiente pantalla. 11.Presionamos el botón azul “VER CONJUNTO DE DATOS” a. Con esto nos habilitará un acceso directo a un conjunto de dataset con los cuales podremos practicar.
90 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. b. El dataset que se acaba de habilitar es el que se muestra en la imagen anterior “bigquery-public-data” 12.Expandimos el conjunto de datos “bigquery-public-data” (seleccionamos mediante el triángulo de la izquierda) y nos aparecerá una lista de datasets listos para ser usados. 13.Busquemos y expandimos la opción: “austin_bikeshare” a. Podremos ver que el dataset “Austin_bikeshare” tiene dos tablas: bikeshare_stations y bikeshare_trips. 14.Seleccionemos bikeshare_stations. Nos aparecerá la siguiente pantalla:
91 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. En la parte de ESQUEMA nos muestra el tipo de dato que le corresponde a cada uno de los campos de la tabla.
92 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. 15.Chequemos la parte de DETALLES. La parte de DETALLES nos da información en general de la tabla.
93 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. 16.Ahora veamos la parte de VISTA PREVIA 17.En la imagen de VISTA PREVIA no se alcanzan a ver todos los registros ni todos los campos. 18.Ahora seleccionemos la tabla “bikeshere_trips” 19.Veamos las tres formas de ver la información de la tabla: ESQUEMA, DETALLES y VISTA PREVIA.
94 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.
95 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. 20.Como podemos ver en las dos tablas hay mucha información que podemos analizar. 21.Ahora seleccionemos CONSULTA y “En una pestaña nueva”. Aparecerá lo siguiente. 22.Colocamos un asterisco entre SELECT y FROM y le damos ejecutar.
96 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. 23.Nos mostrará los siguientes resultados: 24.Ahora podemos explorar la información desde DataStudio. Le damos en EXPLORE DATA y seleccionamos “Explore with Data Studio 25.”. Aparecerá la siguiente pantalla.
97 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total. 26.Le damos Clic en EMPEZAR. Nos aparecerá la siguiente pantalla. 27.Seleccionamos AUTORIZAR. 28.Como podemos ver nos da información de la tabla seleccionado en BigQuery. Pero recordemos que ya estamos en Data Studio. 29.También nos muestra la siguiente pantalla:
98 BIG DATA CON GOOGLE CLOUD PLATFORM EN LÍNEA Propiedad de INADET – CENALTEC. Prohibida la reproducción parcial o total.