当前位置:   article > 正文

Hive 数据仓库基础应用---第一篇_hive数据仓库应用

hive数据仓库应用
  • hive 的数据定义语句--DDL

  1. 创建数据库

语法格式如下:

CREATE  DATABASE [IF NOT EXITS] database_name

[COMMENT database_comment]

[LOCATION hdfs_path]

[WITH DBPROPERTIES (property_name=property_value,.....)];

[COMMENT database_comment]:可选,表示数据库的相关描述

[LOCATION hdfs_path]:可选,用于指定数据库在HDFS上的存储位置,默认存储取决于hive配置文件 hive-site.xml 中参数 hive.metastore.warehouse.dir 指定的存储位置

[WITH DBPROPERTIES (property_name=property_value,.....)]:可选,用于设置数据库属性,propety_name 表示属性名称,property_value 表示属性值,都可以自定义

举例:

CREATE  DATABASE IF NOT EXITS database_yyp

COMMENT “在线查询接口”

LOCATION ‘/hive_db/create_db/’

WITH DBPROPERTIES (“createror”=”leyinping”,“date”=”2022-09-04”];

  1. hive 中查询数据库

语法格式如下:

SHOW DATABASE [LIKE ‘指定查询条件’];

举例:

查询hive中所有数据库:

SHOW DATABASE;

查询hive中数据库名称首字母是i 的数据库:

SHOW DATABASE LIKE ‘I*’;

  1. Hive中查看数据库信息

语法格式如下:

DESCRIBE|DESC (DATABASE) [EXTENDED] db_name;

举例:

DESC DATABASE EXTENDED YYP;

  1. 切换数据库

语法格式如下:

USE DATABASE_NAME;

  1. 修改数据库

Hive 中可以修改数据库的属性和所有者。

语法格式如下:

ALTER DATABASE database_name SET DBPROPERTIES (property_name=property_value,.....);

举例:

ALTER DATABASE database_yyp SET DBPROPERTIES(“date”=”2022-09-10”,”address”=”changsha”);

hive 中数据库

语法格式如下:

DROP DATABASE [IF EXISTS] databae_name [RESTRICK|CASCADE];

[RESTRICK|CASCADE]:可选,表示数据库中存在表时是否可以删除数据库。默认值为[RESTRICK]表示如果数据库中存在表则无法删除数据库。若使用CASCADE,表示即使数据库中存在表,仍然会删除数据库并删除数据库中的表,因此需要谨慎使用CASCADE 。

举例:

DROP DATABASE IF EXISTS YYP;

  • 数据表的基本操作
  1. CREATE TABLE 句式分析

CREATE TABLE 句式语法格式如下:

CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS ] [db_name.]table_name

[(col_name data_type [COMMENT col_commet],...[constraint_specification])]

[COMMENT table_comment]

[PARTITIONED BY (col_name data_type [COMMENT col_comment],...)]

[CLUSTERED BY (col_name,col_name,...) [SORED 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_path]

[TALPROPERTIES (property_name=property_value,...)]

[AS select_statement]

语法具体讲解:

[TEMPORARY] :temporary:可选,用于指定创建的表为临时表。

[EXTERNAL] :external:可选,用于指定创建的表为外部表,若不指定默认创建内部表。

 [IF NOT EXISTS ] :可选,用于指定创建的表是否存在

[db_name.]:用于指定创建表时存放的数据库,若不指定默认在当前数据库存放。

col_name:指定表中的字段名称,若创建的数据表是空表,则col_name为可选的。

data_type: 指定字段类型,若创建的数据表是空表,则data_type为可选的。

[COMMENT col_commet]:可选,指定字段描述

[constraint_specification])]:可选,指定字段约束

[COMMENT table_comment]:可选,指定字段描述

[PARTITIONED BY (col_name data_type [COMMENT col_comment],...)]:可选,用于创建分区表,,指定分区名,分区类型和分区描述。

[CLUSTERED BY (col_name,col_name,...) [SORED BY (col_name [asc|desc],...)] INTO  num_buckets BUCKETS]:可选,用于创建分桶表,指定分桶的字段,根据指定的字段对桶内的数据进行升序ASC,默认排序,以及桶的数量。

[SKEWED BY (col_name,col_name,...)]

ON ((col_value,col_value,...),(col_value,col_value,...),...)

[STORED AS DIRECTORIES]:可选,用于创建倾斜表解决hive 中数据倾斜问题。

[ROW FORMAT row_format]:可选,用于序列化行对象。

[STORED AS file_format]:可选,用于创建表时指定hive 表的文件存储格式。

  

[LOCATION hdfs_path]:可选,用于指定hive 表在hdfs的存储位置

[TALPROPERTIES (property_name=property_value,...)]:用于指定表属性。

[AS select_statement]:用于在创建表的同时将查询结果插入表中

  1. 数据表简介

内部表和外部表的区别:在删除内部表时,内部表的元数据和数据会一同删除;而删除外部表时,只删除外部表的元数据,不会删除数据。外部表相对来说更安全,数据组织更加灵活且方便共享源数据文件。

  1. 创建数据表
  2. 查看数据表

SHOW TABLES;  显示当前数据库的所有数据表

DESC table_name;查询指定数据表基本结构信息

  1. 修改数据表
  1. 重命名数据表----ALTER  TABLE

语法:

ALTER TABLE table_name RENAME TO new_table_name;

ALTER TABLE :表示修改数据表结构信息的语句

RENAME TO:用于数据表的重命名操作。

  1. 修改数据表的属性

语法:

ALTER TABLE table_name SET TBLPROPERTIES(property_name=property_value,...);

SET TBLPROPERTIES:表示修改数据表属性的操作。

举例:

ALTER TABLE table_name SET TBLPROPERTIES(“comment”=”this is a new table”);

  1. 修改数据表列

  修改数据表列是指修改数据表中列的名称,描述,数据类型或者列的位置,语法如下:

ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name];

CHANGE [COLUMN]:用于修改数据表列的操作,其中colnmn 为可选。

col_old_name:指定需要修改的列名

col_new_name:指定列名被修改后的新列名。

column_type:指定列修改后的字段类型。注意:指定列修改后的字段类型与原始字段类型之间需要符合hive 的强制类型转换规则。

 [FIRST|AFTER column_name]:可选,指定列修 意:如果表中每个列的数据类型不一致,则无法使用此功能。

  1. 添加数据表

添加数据表列会在数据表的尾部添加指定列,语法格式如下:

ALTER TABLE table_name ADD COLUMNS (col_name column_type [COMMENT col_comment] ,……);

ALTER TABLE :表示修改数据表结构信息的语句

ADD COLUMNS: 用于向数据表中添加列

col_name :指定需要添加列的列名

column_type:指定需要添加列的数据类型

  1. 替换数据表列

替换数据表列是替换当前数据表中的所有列,语法格式如下:

ALTER TABLE table_name REPLACE COLUMNS (col_name column_type [COMMENT col_comment] ,……);

ALTER TABLE :表示修改数据表结构信息的语句

REPLACE COLUMNS: 用于替换数据表中已存在的所有列

col_name :指定替换列的列名

column_type:指定替换列的数据类型

  1. 删除数据表

删除数据表的语法格式如下:

DROP TABLE [IF EXITS] table_lable [PURGE];

PURGE: 可选,当删除内部表时,若使用PUGRE,则内部表的数据不会放入回收站,后续无法通过回收站恢复内部表的数据,反之,内部表的数据会放入回收站,这里指的恢复数据不包括元数据,元数据删除后无法恢复。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/516979
推荐阅读
相关标签
  

闽ICP备14008679号