DESCRIBE - Amazon Athena

DESCRIBE

Muestra una o más columnas, incluidas las columnas de partición, de la tabla especificada. Este comando resulta útil para examinar los atributos de columnas complejas.

Sinopsis

DESCRIBE [EXTENDED | FORMATTED] [db_name.]table_name [PARTITION partition_spec] [col_name ( [.field_name] | [.'$elem$'] | [.'$key$'] | [.'$value$'] )]
importante

La sintaxis de esta instrucción es DESCRIBE table_name, no DESCRIBE TABLE table_name. El uso de la última sintaxis da como resultado el mensaje de error FAILED: SemanticException [Error 10001]: Table not found table (ERROR: Excepción semántica [Error 10001]: tabla no encontrada).

Parámetros

[EXTENDED | FORMATTED]

Determina el formato de la salida. Si se omiten estos parámetros, se muestran los nombres de las columnas y sus tipos de datos correspondientes, incluidas las columnas de partición, en formato tabular. Si se especifica FORMATTED, se muestran no solo los nombres de las columnas y los tipos de datos en formato tabular, sino también información detallada de las tablas y el almacenamiento. EXTENDED muestra información de columnas y tipos de datos en formato tabular y metadatos detallados de la tabla en formato serializado de Thrift. Este formato es menos legible y es útil principalmente para depurar.

[PARTITION partition_spec]

Si se incluye, enumera los metadatos de la partición que especifica partition_spec, donde partition_spec tiene el formato (partition_column = partition_col_value, partition_column = partition_col_value, ...).

[col_name ( [.field_name] | [.'$elem$'] | [.'$key$'] | [.'$value$'] )* ]

Especifica la columna y los atributos que deben examinarse. Puede especificar .field_name para un elemento de una estructura, '$elem$' para un elemento matriz, '$key$' para una clave de asignación y '$value$' para un valor de mapa. Puede especificarlo recursivamente para explora en profundidad la columna compleja.

Ejemplos

DESCRIBE orders
DESCRIBE FORMATTED mydatabase.mytable PARTITION (part_col = 100) columnA;

En la consulta y el resultado siguientes, se muestra información de columnas y tipos de datos de una tabla impressions basada en los datos de muestra de Amazon EMR.

DESCRIBE impressions
requestbegintime string from deserializer adid string from deserializer impressionid string from deserializer referrer string from deserializer useragent string from deserializer usercookie string from deserializer ip string from deserializer number string from deserializer processid string from deserializer browsercokie string from deserializer requestendtime string from deserializer timers struct<modellookup:string,requesttime:string> from deserializer threadid string from deserializer hostname string from deserializer sessionid string from deserializer dt string # Partition Information # col_name data_type comment dt string

En la consulta y el resultado de ejemplo siguientes, se muestra el resultado de la misma tabla cuando se utiliza la opción FORMATTED.

DESCRIBE FORMATTED impressions
requestbegintime string from deserializer adid string from deserializer impressionid string from deserializer referrer string from deserializer useragent string from deserializer usercookie string from deserializer ip string from deserializer number string from deserializer processid string from deserializer browsercokie string from deserializer requestendtime string from deserializer timers struct<modellookup:string,requesttime:string> from deserializer threadid string from deserializer hostname string from deserializer sessionid string from deserializer dt string # Partition Information # col_name data_type comment dt string # Detailed Table Information Database: sampledb Owner: hadoop CreateTime: Thu Apr 23 02:55:21 UTC 2020 LastAccessTime: UNKNOWN Protect Mode: None Retention: 0 Location: s3://us-east-1.elasticmapreduce/samples/hive-ads/tables/impressions Table Type: EXTERNAL_TABLE Table Parameters: EXTERNAL TRUE transient_lastDdlTime 1587610521 # Storage Information SerDe Library: org.openx.data.jsonserde.JsonSerDe InputFormat: org.apache.hadoop.mapred.TextInputFormat OutputFormat: org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat Compressed: No Num Buckets: -1 Bucket Columns: [] Sort Columns: [] Storage Desc Params: paths requestbegintime, adid, impressionid, referrer, useragent, usercookie, ip serialization.format 1

En la consulta y el resultado de ejemplo siguientes, se muestra el resultado de la misma tabla cuando se utiliza la opción EXTENDED. La información detallada de la tabla se muestra en una sola línea, pero se formatea aquí para que sea legible.

DESCRIBE EXTENDED impressions
requestbegintime string from deserializer adid string from deserializer impressionid string from deserializer referrer string from deserializer useragent string from deserializer usercookie string from deserializer ip string from deserializer number string from deserializer processid string from deserializer browsercokie string from deserializer requestendtime string from deserializer timers struct<modellookup:string,requesttime:string> from deserializer threadid string from deserializer hostname string from deserializer sessionid string from deserializer dt string # Partition Information # col_name data_type comment dt string Detailed Table Information Table(tableName:impressions, dbName:sampledb, owner:hadoop, createTime:1587610521, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:requestbegintime, type:string, comment:null), FieldSchema(name:adid, type:string, comment:null), FieldSchema(name:impressionid, type:string, comment:null), FieldSchema(name:referrer, type:string, comment:null), FieldSchema(name:useragent, type:string, comment:null), FieldSchema(name:usercookie, type:string, comment:null), FieldSchema(name:ip, type:string, comment:null), FieldSchema(name:number, type:string, comment:null), FieldSchema(name:processid, type:string, comment:null), FieldSchema(name:browsercokie, type:string, comment:null), FieldSchema(name:requestendtime, type:string, comment:null), FieldSchema(name:timers, type:struct<modellookup:string,requesttime:string>, comment:null), FieldSchema(name:threadid, type:string, comment:null), FieldSchema(name:hostname, type:string, comment:null), FieldSchema(name:sessionid, type:string, comment:null)], location:s3://us-east-1.elasticmapreduce/samples/hive-ads/tables/impressions, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.openx.data.jsonserde.JsonSerDe, parameters:{serialization.format=1, paths=requestbegintime, adid, impressionid, referrer, useragent, usercookie, ip}), bucketCols:[], sortCols:[], parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[], skewedColValueLocationMaps:{}), storedAsSubDirectories:false), partitionKeys:[FieldSchema(name:dt, type:string, comment:null)], parameters:{EXTERNAL=TRUE, transient_lastDdlTime=1587610521}, viewOriginalText:null, viewExpandedText:null, tableType:EXTERNAL_TABLE)