Durante el año pasado, Desplazamiento al rojo del Amazonas ha introducido capacidades que simplifican las operaciones y mejoran la productividad. Aprovechando este impulso, estamos abordando otro desafío activo global al que se enfrentan los ingenieros de datos a diario: diligenciar operaciones de carga de datos repetitivas con parámetros similares en múltiples fuentes de datos. Esta publicación de nivel intermedio presenta AWS Plantillas de desplazamiento al rojouna nueva función que puede utilizar para crear patrones de comando reutilizables para el comando COPIARreduciendo la superfluidad y mejorando la coherencia en todas sus operaciones de datos.
El desafío: diligenciar operaciones de datos repetitivas a escalera
Conozca AnyCompany, una empresa ficticia de agregación de datos que procesa datos de transacciones de clientes de más de 50 clientes minoristas. Cada cliente envía diariamente archivos de texto delimitados con estructuras similares:
Si admisiblemente el formato de los datos es en gran medida consistente entre los clientes (archivos delimitados por tuberías con encabezados, codificación UTF-8), el gran tamaño de comandos COPY necesarios para cargar estos datos se ha convertido en una sobrecarga de avance y mantenimiento.
Su equipo de ingeniería de datos se enfrenta a varios puntos débiles:
- Delimitación de parámetros repetitivos: Cada comando COPY requiere especificar los mismos parámetros para la configuración de delimitador, codificación, manejo de errores y compresión.
- Riesgos de inconsistencia: Con varios miembros del equipo escribiendo comandos COPY, ligeras variaciones en los parámetros provocan fallas en la ingesta de datos
- Gastos generales de mantenimiento: cuando necesitan ajustar umbrales de error o configuraciones de codificación, deben modernizar cientos de comandos COPY individuales en sus canalizaciones de procedencia, transformación y carga (ETL).
- Complejidad de incorporación: Los nuevos miembros del equipo luchan por memorar todos los parámetros requeridos y sus títulos óptimos.
Adicionalmente, algunos clientes envían datos en formatos tenuemente diferentes. Algunos usan delimitadores de coma en área de barras verticales o tienen diferentes configuraciones de encabezado. El equipo necesita flexibilidad para manejar estas excepciones sin reescribir completamente su razonamiento de carga de datos.
Presentación de plantillas de desplazamiento al rojo
Puede acometer estos desafíos utilizando plantillas de Redshift para acumular los parámetros utilizados comúnmente para los comandos COPY como objetos de colchoneta de datos reutilizables. Piense en las plantillas como planos para sus operaciones de datos donde puede explicar sus parámetros una vez y luego hacer narración a ellos en múltiples comandos COPY.
Mejores prácticas de administración de plantillas
Antaño de explorar escenarios de implementación, establezcamos las mejores prácticas para la despacho de plantillas para asegurar que sus plantillas sigan siendo fáciles de abastecer y seguras.
- Utilice nombres descriptivos que indiquen el propósito:
- Implementar golpe con privilegios mínimos:
- Consulte la aspecto del sistema para realizar un seguimiento del uso de la plantilla:
- Documente cada plantilla, incluyendo:
- Propósito y casos de uso
- Explicaciones de parámetros
- Propiedad e información de contacto
- Historial de cambios
Descripción común de la decisión
Exploremos cómo AnyCompany utiliza las plantillas Redshift para optimizar sus operaciones de carga de datos.
Decorado 1: estandarizar la ingesta de datos del cliente
AnyCompany recibe archivos de transacciones de múltiples clientes minoristas con un formato consistente. Crean una plantilla que encapsula sus parámetros de carga estereotipado:
Esta plantilla define su enfoque estereotipado:
DELIMITER '|'especifica archivos delimitados por barras verticalesIGNOREHEADER 1salta la fila del encabezadoENCODING UTF8facilita la codificación adecuada de caracteresMAXERROR 100permite hasta 100 errores ayer de abortar, lo que brinda resiliencia para problemas menores de calidad de los datosCOMPUPDATE OFFayuda a predisponer el investigación de compresión involuntario durante la carga para un rendimiento más rápidoSTATUPDATE ONmantiene las estadísticas de la tabla actualizadas para la optimización de consultasACCEPTINVCHARSreemplaza caracteres UTF-8 no válidos en área de abortarTRUNCATECOLUMNStrunca los datos que exceden el orondo de la columna en área de abortar
Ahora, cargar datos desde un cliente estereotipado se vuelve notablemente sencillo:
Observe cuán limpios y fáciles de abastecer son estos comandos. Cada exposición COPY especifica sólo:
- La tabla de destino
- El Servicio de almacenamiento simple de Amazon (Amazon S3) ubicación de origen
- El rol predeterminado de AWS Identity and Access Management (IAM) para autenticación
- La narración de la plantilla.
Los complejos parámetros de formato y manejo de errores están perfectamente encapsulados en la plantilla, lo que facilita la coherencia entre las cargas de datos.
Decorado 2: Manejo de variaciones específicas del cliente con anulaciones de parámetros
AnyCompany tiene dos clientes (Cliente D y E) que envían archivos delimitados por comas en área de archivos delimitados por barras verticales. En área de crear una plantilla completamente separada, pueden anular parámetros específicos y al mismo tiempo utilizar otras configuraciones de la plantilla:
Esto demuestra la subordinación de parámetros de las plantillas de Redshift:
- Parámetros específicos del comando (prioridad más inscripción): Los parámetros especificados explícitamente en su comando COPY tienen prioridad
- Parámetros de plantilla (prioridad media): Los parámetros definidos en la plantilla se utilizan cuando no se anulan.
- Parámetros predeterminados de Amazon Redshift (prioridad más depreciación): Los títulos predeterminados se aplican cuando ni el comando ni la plantilla especifican un valía
Este enfoque de tres niveles proporciona el estabilidad consumado entre estandarización y flexibilidad. Mantiene la coherencia donde importa y al mismo tiempo conserva la capacidad de manejar las excepciones con elegancia.
Decorado 3: mantenimiento de plantilla simplificado
Seis meses luego de implementar las plantillas, el equipo de calidad de datos de AnyCompany recomienda aumentar el comienzo de error de 100 a 500 para manejar mejor los problemas ocasionales de calidad de los datos de los sistemas ascendentes. Con las plantillas, este cambio es trivial:
Para eliminar una plantilla cuando ya no es necesaria:
Decorado 4: Plantillas específicas del entorno para avance y producción
AnyCompany mantiene plantillas separadas para entornos de avance y producción, con diferentes niveles de tolerancia a errores:
Este enfoque ayuda a asegurar que los problemas de calidad de los datos se detecten tempranamente en la producción y, al mismo tiempo, permite flexibilidad durante el avance y las pruebas.
Beneficios esencia
Los beneficios esencia de usar plantillas incluyen:
- Coherencia y estandarización: Las plantillas ayudan a abastecer la coherencia entre diferentes operaciones al asegurar que se utilice siempre el mismo conjunto de parámetros y configuraciones. Esto es particularmente valioso en organizaciones grandes donde varios usuarios trabajan en las mismas canalizaciones de datos.
- Facilidad de uso y reducción de tiempo: En área de especificar manualmente los parámetros para cada ejecución de comando, los usuarios pueden consultar una plantilla predefinida. Esto ahorra tiempo y reduce las posibilidades de errores causados por la entrada manual.
- Flexibilidad con anulaciones de parámetros: Si admisiblemente las plantillas brindan estandarización, no sacrifican la flexibilidad. Puede anular un parámetro de plantilla directamente en su comando COPY cuando maneja excepciones o casos especiales.
- Mantenimiento simplificado: cuando es necesario realizar cambios en parámetros o configuraciones, la modernización de la plantilla correspondiente propaga los cambios en todas las instancias en las que se utiliza la plantilla. Esto reduce significativamente el esfuerzo de mantenimiento en comparación con la modernización manual de cada comando individualmente.
- Colaboración e intercambio de conocimientos.: Las plantillas sirven como colchoneta de conocimientos, capturando las mejores prácticas y configuraciones optimizadas desarrolladas por usuarios experimentados. Esto facilita el intercambio de conocimientos y la incorporación de nuevos miembros del equipo, lo que reduce la curva de educación y facilita el uso consistente de configuraciones probadas.
Casos de uso adicionales en todas las industrias
Las plantillas se pueden utilizar en todas las industrias.
Servicios financieros: estandarización de cargas de datos regulatorios
Una institución financiera necesita cargar datos de transacciones de múltiples sucursales con requisitos de formato consistentes:
Atención sanitaria: carga de datos de pacientes con estándares estrictos
Una empresa de investigación de atención médica estandariza la ingesta de datos de sus pacientes en múltiples sistemas hospitalarios:
Comercio minorista: estandarización de la carga de datos JSON
Una empresa minorista procesa catálogos de productos con formato JSON de varios proveedores:
Conclusión
En esta publicación, presentamos las plantillas Redshift y mostramos ejemplos de cómo pueden estandarizar y simplificar sus operaciones de carga de datos en diferentes escenarios. Al encapsular parámetros comunes del comando COPY en objetos de colchoneta de datos reutilizables, las plantillas ayudan a eliminar especificaciones de parámetros repetitivas, facilitan la coherencia entre los equipos y centralizan el mantenimiento. Cuando los requisitos evolucionan, una única modernización de plantilla se propaga rápidamente a través de las operaciones, lo que reduce la sobrecarga operativa y al mismo tiempo mantiene la flexibilidad para anular parámetros para casos de uso.
Comience a utilizar plantillas de Redshift para trocar sus flujos de trabajo de ingesta de datos. Cree su primera plantilla para su patrón de carga de datos más global y luego amplíe gradualmente la cobertura en sus canales. Su equipo se beneficiará inmediatamente de un código más expedito, una incorporación más rápida y un mantenimiento simplificado. Para obtener más información sobre las plantillas de Redshift y explorar opciones de configuración adicionales, consulte la Documentación de Amazon Redshift.