Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
DESCRIBE
Zeigt eine oder mehrere Spalten, einschließlich Partitionsspalten, für die angegebene Tabelle an. Dieser Befehl ist nützlich, um die Attribute komplexer Spalten zu untersuchen.
Syntax
DESCRIBE [EXTENDED | FORMATTED] [db_name.]table_name [PARTITION partition_spec] [col_name ( [.field_name] | [.'$elem$'] | [.'$key$'] | [.'$value$'] )]
Wichtig
Die Syntax für diese Anweisung lautet DESCRIBE
, nicht table_name
DESCRIBE TABLE
. Die Verwendung der letztgenannten Syntax führt zu der table_name
Fehlermeldung SemanticException FAILED: [Fehler 10001]: Tabelle nicht gefunden
.
Parameter
- [EXTENDED | FORMATTED]
-
Bestimmt das Format der Ausgabe. Wenn Sie diese Parameter weglassen, werden Spaltennamen und ihre entsprechenden Datentypen, einschließlich Partitionsspalten, im Tabellenformat angezeigt. Die Angabe von
FORMATTED
zeigt nicht nur Spaltennamen und Datentypen in tabellarischer Form, sondern auch detaillierte Tabellen- und Speicherinformationen.EXTENDED
zeigt Spalten- und Datentypinformationen im Tabellenformat und detaillierte Metadaten für die Tabelle in serialisierter Thrift-Form. Dieses Format ist weniger lesbar und eignet sich in erster Linie für das Debugging. - [PARTITION partition_spec]
-
Wenn diese Option enthalten ist, werden die von
partition_spec
angegebenen Metadaten für die Partition aufgeführt, wobeipartition_spec
das Format(partition_column = partition_col_value, partition_column = partition_col_value, ...)
aufweist. - [col_name ( [.field_name] | [.'$elem$'] | [.'$key$'] | [.'$value$'] )* ]
-
Gibt die zu untersuchende Spalte und die zu untersuchenden Attribute an. Sie können
.field_name
für ein Element einer Struktur,'$elem$'
für ein Array-Element,'$key$'
für einen Zuordnungsschlüssel und'$value$'
für einen Zuordnungswert angeben. Sie können dies rekursiv angeben, um die komplexe Spalte eingehender zu prüfen.
Beispiele
DESCRIBE orders
DESCRIBE FORMATTED mydatabase.mytable PARTITION (part_col = 100) columnA;
Die folgende Abfrage und Ausgabe zeigt Spalten- und Datentyp-Informationen aus einer impressions
-Tabelle basierend auf Amazon-EMR-Beispieldaten.
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
Die folgende Beispielabfrage und -ausgabe zeigen das Ergebnis für dieselbe Tabelle, wenn die Option FORMATTED
verwendet wird.
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
Die folgende Beispielabfrage und -ausgabe zeigen das Ergebnis für dieselbe Tabelle, wenn die Option EXTENDED
verwendet wird. Die detaillierten Tabelleninformationen werden in einer einzigen Zeile ausgegeben, aber hier zur Lesbarkeit formatiert.
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)