Hive|Spark 查看表的各种信息 您所在的位置:网站首页 sql如何查看表 Hive|Spark 查看表的各种信息

Hive|Spark 查看表的各种信息

#Hive|Spark 查看表的各种信息| 来源: 网络整理| 查看: 265

Hive|Spark 查看表的各种信息 SQL Syntax - Auxiliary Statements:SQL 语法之辅助语句SHOW COLUMNS - 查看字段信息SHOW CREATE TABLE - 查看建表语句SHOW DATABASES - 查看数据库列表SHOW FUNCTIONS - 查看函数列表SHOW PARTITIONS - 获取分区列表SHOW TABLE EXTENDED - 查看表的详细信息SHOW TABLES - 查看表列表SHOW TBLPROPERTIES - 查看表属性SHOW VIEWS - 查看视图列表

SQL Syntax - Auxiliary Statements:SQL 语法之辅助语句

持续更新…

sql-ref-syntax-aux-show-columns

SHOW COLUMNS - 查看字段信息

查看指定表的所有字段列表,如果表不存在,则会抛出异常.

使用语法

-- 使用语法 SHOW COLUMNS table_identifier [ database ]

使用示例

-- Create `customer` table in `salesdb` database; USE salesdb; CREATE TABLE customer( cust_cd INT, name VARCHAR(100), cust_addr STRING); -- List the columns of `customer` table in current database. SHOW COLUMNS IN customer; +---------+ | col_name| +---------+ | cust_cd| | name| |cust_addr| +---------+ -- List the columns of `customer` table in `salesdb` database. SHOW COLUMNS IN salesdb.customer; +---------+ | col_name| +---------+ | cust_cd| | name| |cust_addr| +---------+ -- List the columns of `customer` table in `salesdb` database SHOW COLUMNS IN customer IN salesdb; +---------+ | col_name| +---------+ | cust_cd| | name| |cust_addr| +---------+

在这里插入图片描述

SHOW CREATE TABLE - 查看建表语句

SHOW CREATE TABLE 返回用于创建给定表或视图的 CREATE TABLE 语句或 CREATE VIEW 语句,在不存在的表或临时视图上 SHOW CREATE TABLE 会引发异常

使用语法

SHOW CREATE TABLE table_identifier [ AS SERDE ]

使用示例

CREATE TABLE test (c INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE TBLPROPERTIES ('prop1' = 'value1', 'prop2' = 'value2'); -- 返回简洁的建表语句 SHOW CREATE TABLE test;

在这里插入图片描述

-- 返回携带序列化信息的建表语句 -- HIVE目前不支持(默认返回携带的序列化信息),该语法位SPARK语法 SHOW CREATE TABLE test AS SERDE;

在这里插入图片描述

SHOW DATABASES - 查看数据库列表

列出与可选提供的正则表达式模式匹配的数据库,如果未提供模式,则该命令列出系统中的所有数据库

注意,SCHEMAS 和 DATABASES 的用法是可以互换的,并且含义相同

使用语法

SHOW { DATABASES | SCHEMAS } [ LIKE regex_pattern ]

使用示例

-- 未给出模式,查询所有的数据库 SHOW DATABASES;

在这里插入图片描述

-- 等同于 SHOW DATABASES; SHOW SCHEMAS;

在这里插入图片描述

-- 通过模糊匹配查询数据库列表 -- 使用场景:如果数据库列表很多,通过该语法可以匹配部分数据库 SHOW DATABASES LIKE 'pay*'; SHOW DATABASES LIKE '*ay*';

在这里插入图片描述

SHOW FUNCTIONS - 查看函数列表

应用可选的正则表达式模式后返回函数列表,鉴于 Spark 支持的函数数量非常多,该语句结合 describe function 可以快速找到该函数并了解其用法

注意,LIKE 子句是可选的,仅支持与其他系统兼容

使用语法

SHOW [ function_kind ] FUNCTIONS [ { FROM | IN } database_name ] [ LIKE regex_pattern ]

参数介绍

-- function_kind(函数种类) 指定要搜索的函数的名称空间,有效的名称空间有: 1. USER - 在用户定义的函数中查找函数. 2. SYSTEM - 在系统的函数中查找函数. 3. ALL - 在用户系统的函数中查找函数. -- { FROM | IN } database_name 指定列出函数的数据库名称 -- regex_pattern 指定用于过滤语句结果的正则表达式模式 1. 支持 * 和 | 字符,同时正则表达式 2. * 单独匹配 0 个或多个字符和 | 用于分隔多个不同的正则表达式,其中任何一个都可以匹配 3. 会将输入的前后空格去除,且匹配时不区分大小写

使用示例

-- 在系统和用户自定义的函数中查找 `trim` 函数 SHOW FUNCTIONS trim; +--------+ |function| +--------+ | trim| +--------+ -- 在系统函数中查找 `concat` 函数 SHOW SYSTEM FUNCTIONS concat; +--------+ |function| +--------+ | concat| +--------+ -- 在 `salesdb` 库中查找系统函数 `max` SHOW SYSTEM FUNCTIONS FROM salesdb LIKE 'max'; +--------+ |function| +--------+ | max| +--------+ -- 获取以 `t` 开头的函数列表 SHOW FUNCTIONS LIKE 't*';

在这里插入图片描述

-- 获取以 `yea` 开头或者 `windo` 开头的函数列表 SHOW FUNCTIONS LIKE 'yea*|windo*';

在这里插入图片描述

-- 通过正则表达式获取函数列表 -- 该正则的含义为:函数名称只有四个字符,且都为字母 SHOW FUNCTIONS LIKE 't[a-z][a-z][a-z]'; +--------+ |function| +--------+ | tanh| | trim| +--------+ SHOW PARTITIONS - 获取分区列表

SHOW PARTITIONS 语句用于列出表的分区,可以指定可选的分区规范以返回与提供的分区规范匹配的分区

使用语法

SHOW PARTITIONS table_identifier [ partition_spec ]

使用示例

-- 创建表和分区 CREATE TABLE customer(id INT, name STRING) PARTITIONED BY (state STRING, city STRING); INSERT INTO customer PARTITION (state = 'CA', city = 'Fremont') VALUES (100, 'John'); INSERT INTO customer PARTITION (state = 'CA', city = 'San Jose') VALUES (200, 'Marry'); INSERT INTO customer PARTITION (state = 'AZ', city = 'Peoria') VALUES (300, 'Daniel'); -- 查看 customer 表的所有分区 SHOW PARTITIONS customer;

在这里插入图片描述

-- 查看 customer 表的指定分区 SHOW PARTITIONS customer PARTITION (state = 'CA', city = 'Fremont');

在这里插入图片描述

SHOW PARTITIONS customer PARTITION (state = 'CA'); SHOW PARTITIONS customer PARTITION (city = 'San Jose');

在这里插入图片描述

SHOW TABLE EXTENDED - 查看表的详细信息

SHOW TABLE EXTENDED 将显示与给定正则表达式匹配的所有表的信息

输出包括基本表信息和文件系统信息,如上次访问、创建者、类型、提供程序、表属性、位置、Serde 库、InputFormat、OutputFormat、存储属性、分区提供程序、分区列和架构

如果存在分区规范,它会输出给定分区的文件系统特定信息,例如分区参数和分区统计信息。 请注意,表正则表达式不能与分区规范一起使用

使用语法

SHOW TABLE EXTENDED [ { IN | FROM } database_name ] LIKE regex_pattern [ partition_spec ]

使用示例

-- 获取 employee 表的详细信息 SHOW TABLE EXTENDED LIKE 'employee';

在这里插入图片描述

-- 查看指定分区的信息 SHOW TABLE EXTENDED IN default LIKE 'employee' PARTITION (grade=1);

在这里插入图片描述

SHOW TABLES - 查看表列表

SHOW TABLES 语句返回可选指定数据库的所有表。 此外,该语句的输出可以通过可选的匹配模式进行过滤。 如果未指定数据库,则从当前数据库返回表

使用语法

SHOW TABLES [ { FROM | IN } database_name ] [ LIKE regex_pattern ]

使用示例

-- 查看当前库的所有表列表 SHOW TABLES; +--------+---------+-----------+ |database|tableName|isTemporary| +--------+---------+-----------+ | default| sam| false| | default| sam1| false| | default| suj| false| +--------+---------+-----------+ -- 查看default库的所有表列表,且表名以 `sam` 开头 SHOW TABLES FROM default LIKE 'sam*'; +--------+---------+-----------+ |database|tableName|isTemporary| +--------+---------+-----------+ | default| sam| false| | default| sam1| false| +--------+---------+-----------+ -- 查看当前库的所有表列表,且表名以 `sam`开头 或表名为`suj` SHOW TABLES LIKE 'sam*|suj'; +--------+---------+-----------+ |database|tableName|isTemporary| +--------+---------+-----------+ | default| sam| false| | default| sam1| false| | default| suj| false| +--------+---------+-----------+ SHOW TBLPROPERTIES - 查看表属性

给定属性键的可选值,此语句返回表属性的值。 如果未指定键,则返回所有属性

注意,此语句返回的属性值不包括 spark 和 hive 内部的一些属性。 排除的属性是:

1. 所有以前缀 spark.sql 开头的属性 2. 属性键,例如:EXTERNAL、comment 3. hive 内部生成的所有属性,用于存储统计信息。 其中一些属性是:numFiles、numPartitions、numRows

使用语法

SHOW TBLPROPERTIES table_identifier [ ( unquoted_property_key | property_key_as_string_literal ) ]

使用示例

-- 查看customer的所有属性 SHOW TBLPROPERTIES customer; +---------------------+----------+ | key| value| +---------------------+----------+ | created.by.user| John| | created.date|01-01-2001| |transient_lastDdlTime|1567554931| +---------------------+----------+ -- 查看customer的所有属性 SHOW TBLPROPERTIES salesdb.customer; +---------------------+----------+ | key| value| +---------------------+----------+ | created.by.user| John| | created.date|01-01-2001| |transient_lastDdlTime|1567554931| +---------------------+----------+ -- 通过不带 ` 号的方式查看 customer 表的 created.by.user 属性 SHOW TBLPROPERTIES customer (created.by.user); +-----+ |value| +-----+ | John| +-----+ -- 通过带 ` 号的方式查看 customer 表的 created.date 属性 SHOW TBLPROPERTIES customer ('created.date'); +----------+ | value| +----------+ |01-01-2001| +----------+ SHOW VIEWS - 查看视图列表

SHOW VIEWS 语句返回可选指定数据库的所有视图

此外,该语句的输出可以通过可选的匹配模式进行过滤。 如果未指定数据库,则从当前数据库返回视图。 如果指定的数据库是全局临时视图数据库,我们将列出全局临时视图。 请注意,无论给定数据库如何,该命令还列出本地临时视图

使用语法

SHOW VIEWS [ { FROM | IN } database_name ] [ LIKE regex_pattern ]

使用示例

-- 在不同的数据库中创建 全局/临时 的视图 CREATE VIEW sam AS SELECT id, salary FROM employee WHERE name = 'sam'; CREATE VIEW sam1 AS SELECT id, salary FROM employee WHERE name = 'sam1'; CREATE VIEW suj AS SELECT id, salary FROM employee WHERE name = 'suj'; USE userdb; CREATE VIEW user1 AS SELECT id, salary FROM default.employee WHERE name = 'user1'; CREATE VIEW user2 AS SELECT id, salary FROM default.employee WHERE name = 'user2'; USE default; CREATE GLOBAL TEMP VIEW temp1 AS SELECT 1 AS col1; CREATE TEMP VIEW temp2 AS SELECT 1 AS col1; -- 查看默认数据库的所有视图 SHOW VIEWS; +-------------+------------+--------------+ | namespace | viewName | isTemporary | +-------------+------------+--------------+ | default | sam | false | | default | sam1 | false | | default | suj | false | | | temp2 | true | +-------------+------------+--------------+ -- 查看test数据库的所有视图 SHOW VIEWS FROM test; +-------------+------------+--------------+ | namespace | viewName | isTemporary | +-------------+------------+--------------+ | test | user1 | false | | test | user2 | false | | | temp2 | true | +-------------+------------+--------------+ -- 查看所有视图,且名称为sam或suj或以temp开头 SHOW VIEWS LIKE 'sam|suj|temp*'; +-------------+------------+--------------+ | namespace | viewName | isTemporary | +-------------+------------+--------------+ | default | sam | false | | default | suj | false | | | temp2 | true | +-------------+------------+--------------+


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有