Athrun Data Intelligence


El Catálogo de datos de AWS Glue ahora automatiza la vivientes de estadísticas para nuevas tablas. Estas estadísticas están integradas con el optimizador basado en costos (CBO) de Espectro de desplazamiento al rojo de Amazon y Atenea amazónicalo que resulta en un mejor rendimiento de las consultas y posibles ahorros de costos.

Las consultas sobre grandes conjuntos de datos a menudo leen grandes cantidades de datos y realizan operaciones de unión complejas en múltiples conjuntos de datos. Cuando un motor de consultas como Redshift Spectrum o Athena procesa la consulta, el CBO utiliza estadísticas de tabla para optimizarla. Por ejemplo, si la CBO conoce el número de títulos distintos en una columna de la tabla, puede designar la táctica y el orden de unión óptimos. Estas estadísticas deben recopilarse de antemano y mantenerse actualizadas para reverberar el estado de los datos más recientes.

Anteriormente, el catálogo de datos admitía la colección de estadísticas de tablas utilizadas por CBO para Redshift Spectrum y Athena para tablas con formatos Parquet, ORC, JSON, ION, CSV y XML. Presentamos esta característica y sus beneficios de rendimiento en Mejore el rendimiento de las consultas mediante estadísticas a nivel de columna de AWS Glue Data Catalog. Encima, el catálogo de datos además admite tablas Apache Iceberg. Además hemos cubierto esto en detalle en Acelere el rendimiento de las consultas con las estadísticas de Apache Iceberg en el catálogo de datos de AWS Glue.

Anteriormente, la creación de estadísticas para tablas Iceberg en el catálogo de datos requería monitorear y desempolvar continuamente las configuraciones de sus tablas. Tenías que hacer un trabajo pesado indiferenciado para hacer lo futuro:

  • Descubra nuevas tablas con formatos de tablas de datos específicos (como Parquet, JSON, CSV, XML, ORC, ION) y formatos de tablas de datos transaccionales específicos, como Iceberg y sus rutas de depósito individuales.
  • Determinar y configurar tareas informáticas basadas en la táctica de escaneo (porcentaje de muestreo y cronogramas)
  • Configurar Trámite de ataque e identidad de AWS (IAM) y Formación del balsa AWS roles para tareas específicas para proporcionar Servicio de almacenamiento simple de Amazon (Amazon S3) ataque, Amazon CloudWatch registros, Servicio de compañía de claves de AWS (AWS KMS) claves para el criptográfico de CloudWatch y políticas de confianza
  • Configure sistemas de notificación de eventos para comprender los cambios en los lagos de datos
  • Establecer estrategias de mejoramiento de almacenamiento y rendimiento de consultas basadas en la configuración del optimizador específico
  • Configure un programador o cree sus propias tareas informáticas basadas en eventos con configuración y desmontaje

Ahora, el catálogo de datos le permite producir estadísticas automáticamente para tablas actualizadas y creadas con una configuración de catálogo única. Puede comenzar seleccionando el catálogo predeterminado en la consola de Lake Formation y habilitando las estadísticas de la tabla en la pestaña de configuración de optimización de la tabla. A medida que se crean nuevas tablas, se recopila la cantidad de títulos distintos (NDV) para las tablas Iceberg y se recopilan estadísticas adicionales, como la cantidad de títulos nulos y la largo máxima, mínima y promedio, para otros formatos de archivo como Parquet. Redshift Spectrum y Athena pueden usar las estadísticas actualizadas para optimizar las consultas, utilizando optimizaciones como el orden de unión magnífico o la reducción de agregación basada en costos. La consola de AWS Glue le proporciona visibilidad de las estadísticas actualizadas y de las ejecuciones de vivientes de estadísticas.

Ahora, los administradores del balsa de datos pueden configurar la colección de estadísticas semanales en todas las bases de datos y tablas de su catálogo. Cuando la automatización está habilitada, el catálogo de datos genera y actualiza semanalmente estadísticas de columnas para todas las columnas de las tablas. Este trabajo analiza el 20% de los registros en las tablas para calcular estadísticas. Redshift Spectrum y Athena CBO pueden utilizar estas estadísticas para optimizar las consultas.

Encima, esta nueva característica proporciona la flexibilidad de configurar ajustes de automatización y configuraciones de colección programadas a nivel de tabla. Los propietarios de datos individuales pueden anular la configuración de automatización a nivel de catálogo según requisitos específicos. Los propietarios de datos pueden personalizar la configuración de tablas individuales, incluida la posibilidad de habilitar la automatización, la frecuencia de colección, las columnas de destino y el porcentaje de muestreo. Esta flexibilidad permite a los administradores abastecer una plataforma optimizada en militar, al tiempo que permite a los propietarios de datos ajustar las estadísticas de las tablas individuales.

En esta publicación, analizamos cómo el Catálogo de datos automatiza la colección de estadísticas de tablas y cómo puede utilizarlo para mejorar la eficiencia de su plataforma de datos.

Habilitar la colección de estadísticas a nivel de catálogo

El administrador del balsa de datos puede habilitar la colección de estadísticas a nivel de catálogo en la consola de Lake Formation. Complete los siguientes pasos:

  1. En la consola de Lake Formation, elija Catálogos en el panel de navegación.
  2. Seleccione el catálogo que desea configurar y elija Editar en el Comportamiento menú.

  1. Distinguir Habilitar la vivientes cibernética de estadísticas para las tablas del catálogo. y elija un rol de IAM. Para conocer los permisos necesarios, consulte Requisitos previos para producir estadísticas de columnas.
  2. Nominar Entregar.

Además puede habilitar la colección de estadísticas a nivel de catálogo a través del Interfaz de raya de comandos de AWS (AWS CLI):

aws glue update-catalog --cli-input-json '{
    "name": "123456789012",
    "catalogInput": {
        "description": "Updating root catalog with role arn",
        "catalogProperties": {
            "customProperties": {
                "ColumnStatistics.RoleArn": "arn:aws:iam::123456789012:role/service-role/AWSGlueServiceRole",
                "ColumnStatistics.Enabled": "true"
            }
        }
    }
}'

El comando fogosidad a AWS Glue UpdateCatalog API, que toma en un CatalogProperties estructura que prórroga los siguientes pares clave-valor para estadísticas a nivel de catálogo:

  • ColumnStatistics.RoleArn – El nombre de solicitud de Amazon (ARN) del rol de IAM que se utilizará para todos los trabajos activados para estadísticas a nivel de catálogo.
  • Estadísticas de columna.Autorizado – Un valía booleano que indica si la configuración a nivel de catálogo está habilitada o deshabilitada.

personas que llaman de UpdateCatalog debe tener UpdateCatalog Permisos de IAM y ser concedidos ALTER en CATALOG permisos en el catálogo raíz si se utilizan permisos de Lake Formation. Puedes convocar al GetCatalog API para repasar las propiedades configuradas en las propiedades de su catálogo. Para conocer los permisos necesarios utilizados por el rol pasado, consulte Requisitos previos para producir estadísticas de columnas.

Siguiendo estos pasos, se habilita la colección de estadísticas a nivel de catálogo. Luego, AWS Glue actualiza automáticamente las estadísticas de todas las columnas de cada tabla y toma muestras del 20 % de los registros semanalmente. Esto permite a los administradores del balsa de datos administrar eficazmente el rendimiento y la rentabilidad de la plataforma de datos.

Ver configuraciones automatizadas a nivel de tabla

Cuando la colección de estadísticas a nivel de catálogo está habilitada, cuando se crea o actualiza una tabla de Apache Hive o una tabla Iceberg mediante AWS Glue CreateTable o UpdateTable API a través de la consola de AWS Glue, el SDK de AWS o los rastreadores de AWS Glue, se crea una configuración de nivel de tabla equivalente para esa tabla.

Las tablas con la vivientes cibernética de estadísticas habilitada deben seguir una de las siguientes propiedades:

  • Formatos de tablas HIVE como Parquet, Avro, ORC, JSON, ION, CSV y XML
  • Formato de tabla Apache Iceberg

Posteriormente de crear o desempolvar una tabla, puede confirmar que se ha establecido una configuración de colección de estadísticas consultando la descripción de la tabla en la consola de AWS Glue. La configuración debe tener la Cronograma propiedad establecida como Coche y Configuración de estadísticas establecer como Heredado del catálogo. Cualquier configuración de tabla con las siguientes configuraciones es activada automáticamente por AWS Glue internamente.

La futuro es una imagen de una tabla de Hive donde se aplicó la colección de estadísticas a nivel de catálogo y se recopilaron estadísticas:

La futuro es una imagen de una Tabla Iceberg donde se ha estudioso la colección de estadísticas a nivel de catálogo y se han recopilado estadísticas:

Configurar la colección de estadísticas a nivel de tabla

Los propietarios de datos pueden personalizar la colección de estadísticas a nivel de tabla para satisfacer micción específicas. Para las tablas que se actualizan con frecuencia, las estadísticas se pueden desempolvar con más frecuencia que semanalmente. Además puede especificar columnas de destino para centrarse en las que se consultan con más frecuencia.

Encima, puede establecer qué porcentaje de registros de la tabla utilizar al calcular las estadísticas. Por lo tanto, puede aumentar este porcentaje para tablas que necesitan estadísticas más precisas o disminuirlo para tablas donde una muestra más pequeña es suficiente para optimizar los costos y el rendimiento de la vivientes de estadísticas.

Estas configuraciones a nivel de tabla pueden anular las configuraciones a nivel de catálogo descritas anteriormente.

Para configurar la colección de estadísticas a nivel de tabla en la consola de AWS Glue, complete los siguientes pasos:

  1. En la consola de AWS Glue, elija Bases de datos bajo Catálogo de datos en el panel de navegación.
  2. Elija una colchoneta de datos para ver todas las tablas disponibles (por ejemplo, optimization_test).
  3. Elija la tabla a configurar (por ejemplo, catalog_returns).
  4. Ir a Estadísticas de columnas y elige Ocasionar a tiempo.
  5. En el Cronograma sección, elija la frecuencia entre Cada hora, A diario, Semanalmente, Mensual y Costumbre (expresión cron). En este ejemplo, para Frecuenciadesignar A diario.
  6. Para Hora de inicioingresar 06:43 en UTC.

  1. Para Opciones de columnaclasificar Todas las columnas.
  2. Para Rol de IAMelija un rol existente o cree un rol nuevo. Para conocer los permisos necesarios, consulte Requisitos previos para producir estadísticas de columnas.

  1. Bajo Configuración vanguardiapara Configuración de seguridadopcionalmente elija su configuración de seguridad para habilitar el criptográfico en reposo en los registros enviados a CloudWatch.
  2. Para Filas de muestraingresar 100 como el porcentaje de filas para muestrear.
  3. Nominar Ocasionar estadísticas.

En la descripción de la tabla en la consola de AWS Glue, puede confirmar que se ha programado un trabajo de colección de estadísticas para la momento y hora especificadas.

Si sigue estos pasos, habrá configurado la colección de estadísticas a nivel de tabla. Esto permite a los propietarios de datos administrar estadísticas de tablas en función de sus requisitos específicos. Combinar esto con la configuración a nivel de catálogo por parte de los administradores del balsa de datos permite consolidar una colchoneta para optimizar toda la plataforma de datos y al mismo tiempo atracar de guisa flexible los requisitos de las tablas individuales.

Además puede crear un software de vivientes de estadísticas de columnas a través de la CLI de AWS:

aws glue create-column-statistics-task-settings 
  --database-name 'database_name' 
  --table-name table_name 
  --role 'arn:aws:iam::123456789012:role/stats-role' 
  --schedule 'cron(8 0-5 14 * * ?)' 
  --column-name-list 'col-1' 
  --catalog-id '123456789012' 
  --sample-size '10.0' 
  --security-configuration 'test-security'

Los parámetros requeridos son database-name, table-namey role. Además puede incluir parámetros opcionales como schedule, column-name-list, catalog-id, sample-sizey security-configuration. Para obtener más información, consulte Ocasionar estadísticas de columnas según un cronograma.

Conclusión

Esta publicación presentó una nueva característica en el catálogo de datos que permite la colección automatizada de estadísticas a nivel de catálogo con controles flexibles por tabla. Las organizaciones pueden administrar y abastecer eficazmente estadísticas actualizadas a nivel de columna. Al incorporar estas estadísticas, CBO tanto en Redshift Spectrum como en Athena puede optimizar el procesamiento de consultas y la rentabilidad.

Pruebe esta función para su propio caso de uso y háganos memorizar sus comentarios en los comentarios.


Acerca de los autores

Sotaro Hikita es un arquitecto de soluciones analíticas. Apoya a clientes de una amplia viso de industrias en la creación y operación de plataformas de descomposición de guisa más efectiva. Le apasionan especialmente las tecnologías de big data y el software de código campechano.

Noritaka Sekiyama es arquitecto principal de Big Data en el equipo de AWS Glue. Trabaja con colchoneta en Tokio, Japón. Es responsable de crear artefactos de software para ayudar a los clientes. En su tiempo evadido le gusta estar en bici con su bici de carretera.

Kyle Duong es ingeniero sénior de ampliación de software en el equipo de AWS Glue y AWS Lake Formation. Le apasiona la construcción de tecnologías de big data y sistemas distribuidos.

Sandeep Adwankar es administrador senior de productos en AWS. Con sede en el Campo de acción de la Bahía de California, trabaja con clientes de todo el mundo para traducir los requisitos comerciales y técnicos en productos que permitan a los clientes mejorar la forma en que administran, protegen y acceden a los datos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *