hive 建表
时间: 2023-07-29 10:10:41 浏览: 101
Hive 是一个基于 Hadoop 的数据仓库工具,可以通过类 SQL 语言来查询和分析数据。下面是 Hive 建表的基本语法:
```
CREATE TABLE [IF NOT EXISTS] table_name (
column1 data_type [COMMENT col_comment],
column2 data_type [COMMENT col_comment],
...
)
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[ROW FORMAT row_format]
[STORED AS file_format]
[TBLPROPERTIES (property_name=property_value, ...)]
```
其中,各个参数的含义如下:
- `IF NOT EXISTS`:可选参数,表示如果表已经存在,则不执行创建操作。
- `table_name`:要创建的表的名称。
- `column1, column2, ...`:表的列名及其对应的数据类型。
- `COMMENT`:列注释或表注释。
- `PARTITIONED BY`:可选参数,表示按照哪些列进行分区。
- `ROW FORMAT`:可选参数,指定行的格式,如 `DELIMITED FIELDS TERMINATED BY ','`。
- `STORED AS`:可选参数,指定表的存储格式,如 `TEXTFILE`, `ORC`, `PARQUET` 等。
- `TBLPROPERTIES`:可选参数,用于设置表的属性,如 `LOCATION`、`SERDE`、`INPUTFORMAT`、`OUTPUTFORMAT` 等。
例如,我们创建一个学生表,包含学号、姓名、年龄三个字段,其中学号为 int 类型,姓名和年龄为 string 类型,可以使用以下语句:
```
CREATE TABLE IF NOT EXISTS student (
id INT COMMENT '学号',
name STRING COMMENT '姓名',
age STRING COMMENT '年龄'
) COMMENT '学生表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
```
这样就创建了一个名为 `student` 的表,包含 `id`、`name`、`age` 三个字段。其中,`COMMENT` 用于设置列或表的注释,`ROW FORMAT` 用于设置行的分隔符,`STORED AS` 用于设置表的存储格式。
阅读全文