Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Cambio del nombre de las columnas

Modo de enfoque
Cambio del nombre de las columnas - Amazon Athena

Es posible que desee cambiar el nombre de las columnas de las tablas para corregir errores de ortografía, hacer que los nombres de las columnas sean mas descriptivos o reutilizar una columna existente para evitar la reordenación de columnas.

Puede cambiar el nombre de las columnas si almacena los datos en CSV y TSV, o en Parquet y ORC si están configurados para leer por índice. Para obtener más información, consulte Descripción del acceso a los índices para Apache ORC y Apache Parquet.

Athena lee los datos con formato CSV y TSV en el orden que tienen las columnas en el esquema y los devuelve en el mismo orden. No utiliza los nombres de las columnas para el mapeo de datos a una columna y por ello es posible cambiar el nombre de las columnas en CSV o TSV sin invalidar las consultas de Athena.

Una estrategia para cambiar el nombre de las columnas consiste en crear una nueva tabla basada en los mismos datos subyacentes, pero utilizando nuevos nombres de columna. En el siguiente ejemplo, se crea una nueva tabla orders_parquet llamada orders_parquet_column_renamed. En el ejemplo se cambia el nombre de la columna `o_totalprice` a `o_total_price` y, a continuación, se ejecuta una consulta en Athena:

CREATE EXTERNAL TABLE orders_parquet_column_renamed ( `o_orderkey` int, `o_custkey` int, `o_orderstatus` string, `o_total_price` double, `o_orderdate` string, `o_orderpriority` string, `o_clerk` string, `o_shippriority` int, `o_comment` string ) STORED AS PARQUET LOCATION 's3://amzn-s3-demo-bucket/orders_parquet/';

En el caso de la tabla en Parquet, la consulta siguiente se ejecuta, pero la columna cuyo nombre ha cambiado no muestra datos, ya que se estaba obteniendo acceso a ella por nombre (comportamiento predeterminado en Parquet) en lugar de por índice:

SELECT * FROM orders_parquet_column_renamed;

Una consulta con una tabla en CSV tiene un aspecto similar:

CREATE EXTERNAL TABLE orders_csv_column_renamed ( `o_orderkey` int, `o_custkey` int, `o_orderstatus` string, `o_total_price` double, `o_orderdate` string, `o_orderpriority` string, `o_clerk` string, `o_shippriority` int, `o_comment` string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION 's3://amzn-s3-demo-bucket/orders_csv/';

En el caso de la tabla en CSV, se ejecuta la consulta siguiente y los datos se muestran en todas las columnas, incluida aquella cuyo nombre se ha cambiado:

SELECT * FROM orders_csv_column_renamed;
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.