

# Generación automática de estadísticas de columnas
<a name="auto-column-stats-generation"></a>

La generación automática de estadísticas de columnas le permite programar y calcular automáticamente las estadísticas de las nuevas tablas en AWS Glue Data Catalog. Al activar la generación automática de estadísticas, el catálogo de datos indica nuevas tablas con formatos de datos específicos, como Parquet, JSON, CSV, XML, ORC, ION y Apache Iceberg, junto con sus respectivas rutas de bucket. Mediante una configuración de catálogo única, el catálogo de datos genera estadísticas para estas tablas.

 Los administradores del lago de datos pueden configurar la generación de estadísticas si seleccionan el catálogo predeterminado en la consola de Lake Formation y habilitando las estadísticas de tablas mediante la opción `Optimization configuration`. Al crear tablas nuevas o actualizar las existentes en el catálogo de datos, este recopila semanalmente el número de valores distintos (NDV) de las tablas de Apache Iceberg y otras estadísticas adicionales, como el número de valores nulos o la longitud máxima, mínima y media de otros formatos de archivo compatibles. 

Si configuró la generación de estadísticas a nivel de tabla o si eliminó previamente la configuración de generación de estadísticas de una tabla, esa configuración específica de tabla tendrá prioridad sobre la configuración predeterminada del catálogo para la generación automática de estadísticas de columnas.

 La tarea de generación automática de estadísticas analiza el 50 % de los registros de las tablas para calcular las estadísticas. La generación automática de estadísticas de columnas garantiza que el catálogo de datos mantenga las métricas semanales más recientes que pueden utilizar los motores de consultas, como Amazon Athena y Amazon Redshift Spectrum, para mejorar el rendimiento de las consultas y ahorrar costos potenciales. Permite programar la generación de estadísticas mediante las API de AWS Glue o la consola, lo que proporciona un proceso automatizado sin intervención manual. 

**Topics**
+ [Habilitación de la generación automática de estadísticas a nivel de catálogo](enable-auto-column-stats-generation.md)
+ [Visualización configuración automatizada en el nivel de tabla](view-auto-column-stats-settings.md)
+ [Desactivación de la generación de estadísticas de columnas a nivel de catálogo](disable-auto-column-stats-generation.md)

# Habilitación de la generación automática de estadísticas a nivel de catálogo
<a name="enable-auto-column-stats-generation"></a>

Puede habilitar la generación automática de estadísticas de columnas en todas las tablas nuevas de Apache Iceberg y las tablas que tengan formatos que no sean OTF (Parquet, JSON, CSV, XML, ORC, ION) del catálogo de datos. Tras crear la tabla, también puede actualizar de forma explícita y manual la configuración de las estadísticas de columnas.

 Para actualizar la configuración del catálogo de datos y así poder habilitar el nivel de catálogo, el rol de IAM que utilice debe tener el permiso `glue:UpdateCatalog` o el permiso AWS Lake Formation `ALTER CATALOG` del catálogo raíz. Puede utilizar la API `GetCatalog` para verificar las propiedades del catálogo. 

------
#### [ Consola de administración de AWS ]

**Habilitación de la generación automática de estadísticas de columnas a nivel de cuenta**

1. Abra la consola de Lake Formation en [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. En la barra de navegación izquierda, elija **Claves**.

1. En la página **Resumen del catálogo**, seleccione **Editar** en **Configuración de la optimización**.   
![\[La captura de pantalla muestra las opciones disponibles para generar estadísticas de columnas.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/edit-column-stats-auto.png)

1. En la página **Configuración de la optimización de tablas**, elija la opción **Habilitar la generación automática de estadísticas para las tablas del catálogo**.  
![\[La captura de pantalla muestra las opciones disponibles para generar estadísticas de columnas.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/edit-optimization-option.jpg)

1. Elija un rol de IAM existente o cree uno nuevo con los permisos necesarios para ejecutar la tarea de estadísticas de columnas.

1. Elija **Enviar**.

------
#### [ AWS CLI ]

También puede habilitar la recopilación de estadísticas a nivel de catálogo a través de AWS CLI. Para configurar la recopilación de estadísticas a nivel de tabla mediante AWS CLI, ejecute el siguiente comando:

```
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 anterior llama a operación `UpdateCatalog` de AWS Glue, que adopta una estructura `CatalogProperties` con los siguientes pares clave-valor para generar estadísticas a nivel de catálogo: 
+ ColumnStatistics.RoleArn: ARN del rol de IAM se utilizará en todas las tareas activadas para la generación de estadísticas a nivel de catálogo
+ ColumnStatistics.Enabled: valor booleano que indica si la configuración a nivel de catálogo está habilitada o deshabilitada

------

# Visualización configuración automatizada en el nivel de tabla
<a name="view-auto-column-stats-settings"></a>

 Cuando la recopilación de estadísticas en el catálogo está habilitada, cada vez que se crea o actualiza una tabla de Apache Hive o de Apache Iceberg mediante las API de `CreateTable` o de `UpdateTable` a través de Consola de administración de AWS, un SDK o Rastreador de AWS Glue, una configuración de tabla equivalente se crea para esa tabla. 

 Las tablas que tengan la generación automática de estadísticas habilitada deben seguir una de las siguientes propiedades:
+ Utilice una propiedad `InputSerdeLibrary` que comience por org.apache.hadoop y `TableType` sea igual a `EXTERNAL_TABLE`.
+ Utilice una propiedad `InputSerdeLibrary` que comience por `com.amazon.ion` y `TableType` sea igual a `EXTERNAL_TABLE`.
+ Guarde un valor table\$1type: “ICEBERG” en su estructura de parámetros. 

 Después de crear o actualizar una tabla, puede verificar los detalles de esta para confirmar la generación de estadísticas. `Statistics generation summary` muestra el conjunto de propiedades `Schedule` como `AUTO`, y el valor `Statistics configuration` es `Inherited from catalog`. Glue activará automáticamente y de forma interna cualquier configuración de tabla que tenga los siguientes parámetros. 

![\[Se aplicó una imagen de una tabla de Hive con una recopilación de estadísticas a nivel de catálogo y se han recopilado estadísticas.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/auto-stats-summary.png)


# Desactivación de la generación de estadísticas de columnas a nivel de catálogo
<a name="disable-auto-column-stats-generation"></a>

 Puede deshabilitar la generación automática de estadísticas de columnas en tablas nuevas mediante la consola AWS Lake Formation, la API `glue:UpdateCatalogSettings` o la API `glue:DeleteColumnStatisticsTaskSettings`. 

**Desactivación de la generación automática de estadísticas de columnas a nivel de cuenta**

1. Abra la consola de Lake Formation en [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. En la barra de navegación izquierda, elija **Claves**.

1. En la página **Resumen del catálogo**, seleccione **Editar** en **Configuración de la optimización**. 

1. En la página **Configuración de la optimización de tablas**, anule la selección de la opción **Habilitar la generación automática de estadísticas en las tablas del catálogo**.

1. Elija **Enviar**.