DEV Community

Cover image for Claves para lograr la certificación AWS Data Engineer Associate
Laura Bolaños
Laura Bolaños

Posted on • Originally published at builder.aws.com

Claves para lograr la certificación AWS Data Engineer Associate

En este artículo encontrarás una guía para descubrir qué conocimientos necesitás antes de rendir el examen, identificar tus brechas y entender en qué temas profundizar. 🤓

Información general del examen

La certificación esta orientada los Ingenieros de datos pero también a todos aquellos que están construyendo su perfil de Arquitecto Cloud.
Aquí podes encontrar datos generales del examen, intuyo que ya conoces esta información.
La guia de examen consta de 4 dominios, es super necesario leer y revisar continuamente mientras estudias para la certificación: link
El dato importante: el examen no esta disponible en español. Para todos los que tenemos dificultad con el idioma puede parecer un impedimento pero no te preocupes! estudiando y armando apuntes en ingles lo puedes lograr 🏆 Las preguntas se pueden comprender perfectamente porque se alcanza un nivel de familiaridad con frases claves del examen.
⭐ Tip: lengua no nativa ingles ➡ pedir los 30 minutos adicionales (Exam acommodations) en la plataforma Training And Certificacion antes de agendar el examen.

Complejidad

Si no trabajas como Data Engineer pero contas con un background en bases de datos, consultas sql complejas y performance tuning los contenidos te van a resultar familiares y sencillos de incorporar. Además, si contás con la certificación Solutions Architect Associate una parte del contenido ya lo habrás estudiado.

⭐ Es una certificación importante y muy amena para estudiar, de complejidad media.

Cursos de preparación y laboratorios básicos

➡ Curso en Skillbuilder de Data Engineer Foundations . Es gratis y básico para esta certificación.
➡ Curso en SkillBuilder de preparación del examen. Es esencial ya que explica en que consiste el examen y lo que debemos estudiar. Si no contas con la suscripción haz todo el contenido libre, basicamente es la explicación de los 4 dominios.
➡ Es necesario hacer laboratorios de diferentes casos de uso, tanto de Data Lakes como de DataWarehouse. Los laboratorios los encontras en SkillBuilder (ejemplo CloudQuest Data Analytics) o invertir unos dolares en la consola. Comparto laboratorio básico de mi github

Método de estudio sugerido

  • Armar un NotebookLM con tus apuntes y links a pdf de la documentación oficial de AWS. Particularmente recomiendo Developer Guide y/o User Guide de servicios como Glue, Redshift, Kinesis, Athena, QuickSigth, OpenSearch, Amazon MSK, LakeFormation, DataSync y todas las url que consideres. De esta manera construyes una especie de RAG para tener precisión a la hora de preguntar dudas conceptuales o de casos de uso.
  • En el momento de practicar preguntas no te fies ciegamente de las respuestas de las IA, el último tiempo noté que algunos modelos tienen dificultades con temas de elección de arquitecturas. Verificar siempre con la documentación oficial, por eso es importante el punto anterior.
  • Buscar un banco de preguntas para entrenar y conocer el estilo de examen. En mi caso utilicé Tutoriales Dojo
  • Recursos útiles (lo utilicé en la preparación) :

video banco de preguntas

video casos de uso

github llb

Conocimientos fundamentales para presentar el examen

Durante el examen prestar atención a palabras claves, pensar cual solución es mas lógica, más costo- efectiva, con menor esfuerzo operacional y con performance aceptable.
El listado a continuación no cubre todo el temario, pero dominar estos temas es fundamental para aprobar:

Generales

  1. Datalake ➡ S3: raw, curation, consumption.
  2. DataWarehouse : Redshift. Siempre relacionado con queries complejas.
  3. Data Lakehouse.
  4. Patrones de ingesta de datos: Streaming y Batch.
  5. Atención en las preguntas donde se haga alusión a data lake o datawarehouse porque puede ser la clave para elegir el almacenamiento.
  6. Formatos de archivos para alimentar un Data Lake en S3: Json, Parquet, Avro, ORC, Csv. Sus casos de uso. Comprender mecanismo de construcción de su metadata. Formatos de Compresión gzip (ratio), snappy (rápidez), zlib.
  7. Elección de servicio para migrar archivos/datos desde el onprem. Probablemente la elección es DataSync.
  8. Data Skew: referido a una distribución desigual de los datos entre las diferentes unidades de procesamiento provocando un desequilibrio de carga.
  9. Métodos principales de orquestación de pipeline de datos: Step Functions, Glue Workflows (nativo para job de glue) y MWAA (dependencias complejas, portabilidad). Se pueden crear flujos y orquestarlos con Event Bridge.
  10. DynamoDb Stream. DynamoDB TTL.
  11. Conexion a RDS, Aurora, Redshift via api desde Lambda. Revisar ejemplos.
  12. Comprender el concepto DAGs (Directed Acyclic Graphs) y con qué servicios esta relacionado. Amazon MWAA
  13. Visualizacion-Dashboard ➡ QuickSigth . QuickSigth SPICE (relacion con Athena). Analizar diferentes casos de uso.
  14. QuickSigth librerias built-in functions and operators: utilidad en casos de uso que necesitamos Rolling Averages, Pivoting and Grouping y Machine Learning (ML) Insights.
  15. Opensearch: Creación de indices, monitorización de logs en tiempo real. UltraWarm en OpenSearch ➡ Conocer su caso de uso.
  16. Secrets Manager es nuestro servicio estrella para guardar accesos a base de dados de manera segura.
  17. Casos de uso de MSK (Kafka). Se asocia con Glue para transformar.

Amazon S3

  1. S3 Storage Lens: Si tengo que hacer una auditoría de bucket, identificar versiones antiguas de objetos, partes incompletas, etc ➡ cuento con un dashboard para clarificar estas falencias.
  2. Tener claro todos los tipos o layers de S3, su tiempo de recuperación de datos y costos: S3 Standar, IA, Glacier Flexible, Glacier Deep Archive, Intelligent tearing y los otros que no son de alta disponibilidad. Ciclo de vida. Versionamiento. Dependiendo el caso de uso hay que optar.
  3. Cómo aplico encriptación en reposo en S3, DynamoDB. Siempre pensar en KMS pero NO con una clave proporcionada por el cliente porque es MÁS carga operacional (es lo que debemos evitar): en S3 ➡ SSE-KMS (claves gestionadas por AWS KMS con auditoría)
  4. Cifrado doble en S3 ➡ SE-KMS (cifrado de doble capa del lado del servidor con AWS KMS).
  5. VPC Endpoint GATEWAY . No tiene costo en S3 y otorga seguridad sin pasar por internet. Desde Glue se puede crear una conexión de red, especificar vpc/subnet. Mismo caso para conectar una lambda de manera segura a S3.
  6. Si tengo varias aplicaciones que consumen diferentes prefix de S3 cual es la mejor manera de brindar seguridad para que una aplicación no pueda ver los datos de otra? Probablemente la solución sea S3 Access Point
  7. Casos de uso de EDA (Event-Driven Architecture). Especialmente de S3, reconocer cuando conviene registrar un EventBridge y cuando reaccionar a una lambda (sin intermediarios).
  8. Modificación de objetos (datos) en S3 al momento de la recuperación, ejemplo: un caso de uso que deba enmascarar información ➡ Por medio de S3 Object Lambda.
  9. Técnicas de Performance en datos almacenados en S3: Bucketing y Partition (ver cardinalidades). Entender las diferencias y cuando se usa según el caso para poder responder con seguridad.
  10. Amazon Macie: tener claro que hace escaneo, descubrimiento y clasificacion de información sensible cuando los datos ya están alojados en S3. Puede integrarse con EventBridge para realizar acciones sobre los hallazgos.
  11. SQL S3 ➡ solo puede consultar un unico archivo. Util para consultas adhoc de un dato en particular.

Amazon Glue

  1. Glue Engine: Spark, Ray (computación paralela/intensiva) y Python Shell (ejecuciones sencillas).
  2. Glue ETLs. Glue Crawler (identificación de metadata en varios origenes). Programación de cron. DynamicFrames.
  3. Glue Dynamic Schema (Schema Evolution). Relacion con AVRO.
  4. Glue Data Catalog (recordar que no solo se usa en el scope de Glue sino que también se integra con EMR). Schema version history.
  5. Glue DataBrew - relacionado con Data Quality pero es herramienta visual no-code. Conocer la sintaxis de rules. Conviene hacer laboratorios o al menos revisar la consola de AWS. En qué casos de uso podemos arreglar los datos. Recordar que está vinculado con SageMaker AI en la preparación de datos para entrenar modelos.
  6. Permite hacer Custom rules.
  7. AWS Glue Data Quality. Es una capacidad diferentes al punto anterior. Utiliza DQDL para definir reglas de validación.
  8. Glue Workflows (usar cuando orquestamos solo job de Glue, si vemos que tenemos que orquestar Lambdas la opción correcta probablemente sea Step Functions).
  9. Glue Bookmark. Si lo tengo activado y el job vuelve a procesar los datos nuevamente...que puede estar pasando? falta job.commit().
  10. Desde un bucket policy se puede denegar ejecuciones de glue que no esten desde un rango horario determinado, ejemplo: "StringNotEquals":{},"NumericGreaterThan":{"aws:CurrentTime":"11:00:00Z"},"NumericLessThan":{"aws:CurrentTime":"09:00:00Z"}} . Ver casos de policy en S3, es la parte de seguridad mas importante del examen.
  11. Comprender permisos de ejecucion en Glue mediante roles y politica de confianza (Trust Policy): AWSServiceRole (tiene las politicas básicas).
  12. Si tengo que monitorear job de Glue, a donde voy? lo hago en Glue Studio ➡Job monitoring dashboard (no desde Cloudwatch). Hacer laboratorio con Glue y revisar las métricas, ejecuciones anteriores. Este analisis sirve para ajustar dpu o workers.
  13. Glue transformación de datos JSON a Tabular : Relationalize Transform.
  14. Feature Transformación Detect PII (o Detect Sensitive Data): Accion de enmascarar, redactar o eliminar.
  15. Glue Interactive Sessions.
  16. Glue Flex. Usa capacidad de computación ociosa por lo tanto es menos costoso.

Amazon Redshift

  1. Redshift sintaxis sql: practicar select, agrupaciones, rank() y funciones más comunes. Sintaxis UDF (se invocan en la proyeccción). Entender que las búsquedas con expresiones regulares son más lentas.
  2. Redshift comandos: COPY (se usa para traer rápidamente datos desde S3) ➡Option: PARALLEL y COMPUPDATE. Unload (se usa para descargar datos a S3, generalmente históricos).
  3. Redshift leader nodes y compute nodes. Entender cómo trabaja para tener la capacidad de responder preguntas de performance.
  4. Redshift Spectrum, está pensando para consultar S3 Y Redshift. No confundir con consultas federadas. Por lo general se usa Spectrum cuando redshift descarga registros antiguos en s3 para abaratar costos y se requiere algún informe que cruce con datos históricos.
  5. Redshift consultas federadas vs Athena federated queries. Se puede presentar una pregunta con estas dos opciones. Leer el caso de uso y tener en claro que soporta cada una. Ejemplo, Redshift queries federadas no soportas consultas en TimeStream.
  6. Redshift Distribution Style : entender que es Auto Distribution, ALL, Even, Key. Esto se aplica para hacer performantes las querys. Relacionar con Star Schemas.
  7. Redshift: Ingesta de datos en formato JSON, cómo se almacena/consulta de forma performante? Con el tipo de dato SUPER, se crea una tabla con una única columna y se puede realizar consultas anidadas (se usa PARTITION BY y funciones como like json_extract_path_text).
  8. Data Sharing: Redshift comparte información entre cluster. Ver casos de uso.
  9. Vistas materializadas. Como las construye. En qué casos de uso se utilizan. Cómo se refrescan.
  10. Redshift troubleshooting: Tabla de sistema STL_ALERT_EVENT_LOG. Maximum Transmission Unit (MTU). VACCUM, VACCUM FULL, VACCUM DELETE ONLY y VACCUM REINDEX.
  11. Redshift Workload Management. Determina como se ejecutan las consultas en el cluster (query queues and route queries).
  12. MPP (Massively Parallel Processing) y Windows Functions.
  13. Dynamic Data Masking - DDM (CREATE MASKING POLICY) ➡ Permite ocultar, ofuscar o seudonimizar datos. Se pueden restringir a usuarios o a roles específicos.

Kinesis Data Stream - Kinesis Firehose - Amazon Managed Service for Apache Flink (Ex Kinesis Data Analytics)

  1. Tener claro conceptualmente los 3 servicios del título. Real time y Near real time.
  2. Amazon Managed Service for Apache Flink: Detectar anomalias o casos de uso de Fraude. Windows Operations (defining time-based or row-based windows to manage data streams)
  3. Mirar todos los casos de ingesta Kinesis Data Stream (pensar que siempre es real time). Puede ingestar a Redshift directamente con Redshift Streaming (es zero etl).
  4. Analizar Casos de Uso de streaming de IoT. Velocidad de Transmisión de datos- Registros por segundo.
  5. Performance en streaming de datos: Kinesis Producer Library (KPL) y Kinesis Client Library (KCL). Shared Fan-out
  6. Partition key de alta cardinalidad para distribuir la carga de forma equitativa en los diferentes shard.
  7. Resolución de problemas en Kinesis Data Stream ➡ si la velocidad de los datos supera la capacidad de los fragmentos actuales: ProvisionedThroughput - Exceeded Exception.
  8. Caso de uso Kinesis Firehose + Lambda para transformación de datos.
  9. Integración Kinesis Firehose con CloudTrail.

Lake Formation

  1. Lake Formation, si hay preguntas sobre permisos granulares considerar que la respuesta es esta. Tener en cuenta todo lo que puede gobernar Lake Formation (qué fuentes de datos).
  2. Fine-Grained Access Control (FGAC). Tag-Based Access Control (LF-TBAC). Credential Vending.
  3. Blueprints and Workflows: Templates que ayudan a ingestar datos desde varias fuentes para crear automaticamente AWS Glue crawlers, jobs, and triggers.
  4. Auditoría via CloudTrail.
  5. CloudTrail Lake: observalidad de como interactúa el ecosistema de AWS. Centralidad de logs. SQL Engine. Seguridad Granular.

EMR

  1. Comprender los casos de uso EMR. Es la opcion de procesamiento de datos mas costosa para mantener (para que viva la metadata hay que tener prendido el cluster). Puede ser la elección adecuado si se requiere control profundo sobre la infraestructura, configuraciones personalizadas (flexibilidad) o el uso del ecosistema completo de Hadoop para migraciones de datos.
  2. Relación con BigData. Procesamiento Distribuido.
  3. EMR puede usar Glue Catalog.
  4. Mirar la combinación de cómputo recomendada para brindar alta disponibilidad y cost effective. Instancias Spot y Procesadores Graviton.
  5. EMR: feature security configuration para setear encriptación tanto en reposo como en tránsito.
  6. EMR Serverless. Casos de uso. Entender en cual caso conviene utilizar en lugar de EMR Standard.

Amazon Athena

  1. "Analizar datos con sql" la respuesta es Athena.
  2. Tablas en Athena que se pueden modificar : Apache Iceberg.
  3. Athena predicate pushdown*.*
  4. Athena Parallel Execution.
  5. Consultas anidadas en Athena (nested), como hacer performante y fácil. View por cada consulta.
  6. Athena federated Query.
  7. Athena ➡ queries lentas, están mal las particiones que estoy tomando para filtrar. Uso Partition Projection en base a los accesos.
  8. Glue Notebooks y Athena Notebooks: cuando se usa cada uno?
  9. CTAS (Create Table as Select)
  10. Athena Federated Query por medio de Lambda.
  11. Athena Workgroups

DMS - STC -CDC

  1. Migrar a una base de datos en la nube o desde onprem, la mejor elección es DMS. Si no hay homogeneidad en la base de datos origen con la de destino se debe usar STC (AWS Schema Conversion tool). Para replicar datos evitando downtime en la base de datos se replica con CDC (change data capture). Este último se realiza con los logs full de transacciones activado en la base de datos origen.
  2. En los casos de uso de migración de bases de datos homogéneas solo se usa DMS + DMS Schema Conversion y cdc (change data capture) para los cambios.
  3. Cuando tengo dos regiones y se quiere migrar una base de datos en la región A con destino en la región B, DMS debe ubicarse idealmente en la región donde está la base de datos de destino o en una región cercana para minimizar la latencia de escritura.

Cloudwatch - CloudTrail

  1. Comprender cuándo utilizar CloudWatch, ejemplo ➡ si necesito analizar/buscar con lenguaje sql uso Amazon CloudWatch Logs Insights. Metrics Filters y Subscription Filter.
  2. Creación de Train en CloudTrail. Mecanismo de envío de datos (a S3) y consultas.
  3. En CloudTrail puedo direccionar el logueo de la actividad de cuentas y/o servicios a un S3 y analizar los datos mediante Athena.
  4. CloudTrail caso de uso testigo: a. CloudTrail capta eventos de Redshift, b. por medio de Reglas de EventBridge guarda esos logs en DynamoDB. También EventBridge Pipes puede filtrar contenido de eventos.

Top comments (0)