阅读 146

Hive(5)--Hive操作语句

数据库级别语句

展示数据库

语法:

show databases; 复制代码

案例:

show databases; database_name | --------------+ default       | hive_databases| 复制代码

创建数据库

语法:

CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] 数据库名称   --DATABASE|SCHEMA 是等价的   [COMMENT 数据库注释] --数据库注释   [LOCATION  HDFS要存放的路径 ]       --存储在 HDFS 上的位置   [WITH DBPROPERTIES (property_name=property_value, ...)];   --指定额外属性 复制代码

案例:

  CREATE DATABASE IF NOT EXISTS hive_databases   COMMENT 'hive数据库'   WITH DBPROPERTIES ('create'='jacquesh'); 复制代码

选择数据库

语法:

use 数据库名称; 复制代码

案例:

use hive_databases; 复制代码

删除数据库

语法:

 DROP (DATABASE|SCHEMA) [IF EXISTS] 数据库名称 [RESTRICT|CASCADE]; **默认行为是** RESTRICT,**如果数据库中存在表则删除失败。要想删除库及其中的表,可以使用** CASCADE **级联删除**。 复制代码

案例:

DROP DATABASE IF EXISTS hive_databases CASCADE; 复制代码

显示数据库详情

语法:

DESC DATABASE [EXTENDED] 数据库名称;   --EXTENDED 表示是否显示额外属性 复制代码

案例:

DESC DATABASE  EXTENDED hive_databases; db_name       |comment|location              |owner_name|owner_type|parameters       | --------------+-------+----------------------------------------------------+----------+----------+-----------------+ hive_databases|hive???|hdfs://cluster/user/hive/warehouse/hive_databases.db|hive2     |USER      |{create=jacquesh}| 复制代码

表级别操作语句

表的创建操作

内部表与外部表

语句:

CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [数据库.]表名     --表名   [(col_name data_type [COMMENT col_comment],     ... [constraint_specification])]  --列名 列数据类型   [COMMENT 表描述]   --表描述   [PARTITIONED BY (col_name data_type [COMMENT 分区表分区的规则], ...)]  --分区表分区规则   [     CLUSTERED BY (col_name, col_name, ...)     [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS   ]  --分桶表分桶规则   [SKEWED BY (col_name, col_name, ...) ON ((col_value, col_value, ...), (col_value, col_value, ...), ...)      [STORED AS DIRECTORIES]    ]  --指定倾斜列和值   [    [ROW FORMAT row_format]        [STORED AS file_format]      | STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)]     ]  -- 指定行分隔符、存储文件格式或采用自定义存储格式   [LOCATION 表在HDFS的存储位置]  -- 指定表的存储位置   [TBLPROPERTIES (property_name=property_value, ...)]  --指定表的属性   [AS select_statement];   --从查询结果创建表 复制代码

内部表

CREATE TABLE temps ( ---------------字段配置开始-------------------     empno INT,     ename STRING,     job STRING,     mgr INT,     hiredate TIMESTAMP,     sal DECIMAL(7,2),     comm DECIMAL(7,2),     deptno INT ---------------字段配置结束------------------- )  ROW FORMAT DELIMITED  fields terminated by  "\t";         **设置字段的分隔符为 “\t” //创建表之后可以再HDFS的目录中查看到表文件(默认配置的)** 复制代码

外部表

CREATE  EXTERNAL  TABLE temps                      **外部表的创建需要加上external关键字修饰** ( ---------------字段配置开始-------------------     empno INT,     ename STRING,     job STRING,     mgr INT,     hiredate TIMESTAMP,     sal DECIMAL(7,2),     comm DECIMAL(7,2),     deptno INT ---------------字段配置结束------------------- )  ROW FORMAT DELIMITED FIELDS TERMINATED BY "\t"    **设置字段的分隔符为 “\t”**   LOCATION  **'/hive/emp_external';                  配置数据路径 也是的hdfs 的路径**


作者:jacqueshuang
链接:https://juejin.cn/post/7034517152249937934

伪原创工具 SEO网站优化  https://www.237it.com/ 


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐