Ingesta de datos Kinesis Data Firehose: Módulo 2

Bootcamp AI
3 min readJun 17, 2020

--

Modelos de entrega

Tenemos diferentes modelos de entrega, cada uno se diferencia por el nivel de actividades que debe realizar el usuario y el proveedor, como primer modelo tenemos On Premise, un modelo el cual el usuario administra el 100% de las actividades, como segundo modelo tenemos IaaS, el cual tanto el usuario como el proveedor tienen un 50% de administración en todas las actividades, como tercer modelo tenemos a PaaS, el cual presenta una administración del 20%-25% de las actividades por parte del usuario, el restante de actividades lo administra el proveedor, finalmente tenemos el modelo SaaS, el cual indica un 100% de administración de actividades por parte del proveedor.

AWS

Es una plataforma en la nube el cual ofrece mas de 175 servicios integrales de centros de datos a nivel global. Ayuda a reducir costos, aumenta agilidad y ofrece innovación a millones de clientes. Esta nube incluye 76 zonas de disponibilidad en 24 regiones del mundo. A la hora de elegir una región, se debe tener en cuenta lo siguiente: Latencia, Costo, Features y Compliance

Kinesis Data Firehose

Servicio de Amazon para cargar datos de straming en almacenes de datos y herramientas de análisis, permitiendo realizar análisis de información en tiempo cercano al real. No puede ser consumido por aplicaciones terceras o Spark, convierte de JSON a Parquet. Se definen dos umbrales importantes que me indican cuando voy a volcar mis datos al destino que yo configuro. El umbral de peso va de 1 Mb hasta 128 Mb y el umbral de tiempo va de 60 segundos hasta 900 segundos. El primer umbral en llegar al limite es el que se cumple. Por cada servicio de Kinesis existe un solo destino.

LABORATORIO 1

  • Crear una máquina virtual (EC2) para que acceda a los recursos de nuestra cuenta, se debe asociar un rol el cual será administrador.
  • Crear rol con política “Administrator Acces”, que le da la opción de hacer absolutamente todo sin restricciones.
  • Crear un usuario para usarlo fuera de la EC2, mediante la CLI de AWS, se escoge la maquina virtual de Sistema operativo de Amazon Linux 2 AMI, se crea una instancia el cual se asociará a al rol de políticas antes creado. Se crea un par de claves y descargar el certificado el cual NO SE DEBE COMPARTIR CON NADIE
  • Debemos copiar un código que se encuentra en nuestra EC2 creado anteriormente, esto nos servirá después
  • Abrimos MobaXterm, iniciamos sesión en SSH y pegamos lo copiado en el paso anterior, luego subimos el certificado con nuestra clave que hemos guardado y podremos acceder a la línea de comandos de la EC2
  • Nos dirigimos de nuevo a la pagina de AWS, al servicio de Kinesis y escogemos “Kinesis Data Firehose”. Creamos el stream con el nombre “firehose01”, elegimos el destino, en este caso Amazon S3.
  • Creamos un bucket con el nombre “aws-firehose-KSCC01” recordando que estos nombres son únicos, después definimos las condiciones del buffer, para este caso será un tamaño de 1 Mb y un tiempo de 60 segundos.
  • Creamos un rol asociado, el cual permite enviar los datos al S3 y finalmente se crea el stream.
  • Regresamos al MobaXterm para introducir 5 comandos en la EC2 que son primordiales al hacer por primera vez este laboratorio.
  • Configuramos la región con el comando “aws configure” y escogemos la región “us-east-1”
  • Copiamos el archivo Python al sector izquierdo del terminal y ejecutamos el comando “python3 write-to-kinesis-firehose.py” esperamos el tiempo de umbral y podemos observar en la consola de Amazon S3 los datos.

Autores

  • Santiago Camacho
  • Christian Gutiérrez
  • Bryan Landázuri

Revisa los siguientes post

Módulo 1: Data Analytics en AWS

Módulo 3: Almacenamiento — Kinesis Data Stream — SQS — DMS

Módulo 4: Procesamiento — AWS IOT CORE

Módulo 6: Serverless Data Processing with Dataflow

Conoce más: bootcampai.org/aws-big-data

--

--

No responses yet