1. 创建数据库

Hive 中使用 CREATE DATABASE 语句来创建数据库,语法如下:

CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_name=property_value, ...)];
SQL

其中,IF NOT EXISTS 可以防止多次创建同名数据库,COMMENT 用于添加数据库描述,LOCATION 用于指定数据库存储位置,WITH DBPROPERTIES 用于添加属性。

2. 创建表

Hive 中使用 CREATE TABLE 语句来创建表,语法如下:

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION hdfs_path] [TBLPROPERTIES (property_name=property_value, ...)] [AS select_statement];
SQL

其中,EXTERNAL 表示创建外部表,IF NOT EXISTS 可以防止多次创建同名表,COMMENT 用于添加表描述,PARTITIONED BY 用于添加分区字段,CLUSTERED BY 用于指定聚簇字段,SORTED BY 用于指定排序字段,INTO num_buckets BUCKETS 用于指定聚簇桶的数量,ROW FORMAT 用于指定行格式,STORED AS 用于指定存储格式,LOCATION 用于指定表存储位置,TBLPROPERTIES 用于添加属性,AS select_statement 用于指定查询语句。

3. 插入数据

Hive 中使用 LOAD DATA 语句来插入数据,语法如下:

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
SQL

其中,LOCAL 表示本地文件,OVERWRITE 表示覆盖已有数据,INTO TABLE 表示要插入的表,PARTITION 用于指定分区字段。

4. 查询数据

Hive 中使用 SELECT 语句来查询数据,语法如下:

SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [CLUSTER BY col_list] [DISTRIBUTE BY col_list] [SORT BY col_list] [LIMIT number];
SQL

其中,ALL 表示查询所有字段,DISTINCT 表示查询不重复字段,FROM 表示要查询的表,WHERE 表示查询条件,GROUP BY 表示分组字段,CLUSTER BY 表示聚簇字段,DISTRIBUTE BY 表示分布字段,SORT BY 表示排序字段,LIMIT 表示查询条数。