当前位置:首页 > 编程技术 > 正文

hive中如何建表语句

hive中如何建表语句

在Hive中创建表的基本语法如下:```sqlCREATE TABLE IF NOT EXISTS [database_name.]table_name ( colum...

在Hive中创建表的基本语法如下:

```sql

CREATE TABLE IF NOT EXISTS [database_name.]table_name (

column_name1 data_type comment 'column description',

column_name2 data_type comment 'column description',

...

column_nameN data_type comment 'column description'

)

[partitioned by (column_name1, column_name2, ...)]

[clustered by (column_name1, column_name2, ...) into [BucketsSort Columns] num_buckets]

[ROW FORMAT DELIMITED

FIELDS TERMINATED BY 'char'

[OPTIONALLY] ENCLOSED BY 'char'

[LINES TERMINATED BY 'char']

]

[STORED AS file_format]

[LOCATION 'path'];

```

以下是一些具体的例子:

创建一个简单的表

```sql

CREATE TABLE IF NOT EXISTS mydatabase.mytable (

id INT,

name STRING,

age INT

);

```

创建一个分区的表

```sql

CREATE TABLE IF NOT EXISTS mydatabase.mytable (

id INT,

name STRING,

age INT

)

PARTITIONED BY (date STRING);

```

创建一个存储为ORC格式的表

```sql

CREATE TABLE IF NOT EXISTS mydatabase.mytable (

id INT,

name STRING,

age INT

)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY 't'

STORED AS ORC;

```

创建一个带有注释的表

```sql

CREATE TABLE IF NOT EXISTS mydatabase.mytable (

id INT COMMENT 'The ID of the record',

name STRING COMMENT 'The name of the person',

age INT COMMENT 'The age of the person'

);

```

创建一个带有桶排序的表

```sql

CREATE TABLE IF NOT EXISTS mydatabase.mytable (

id INT,

name STRING,

age INT

)

CLUSTERED BY (name) INTO 4 BUCKETS;

```

确保替换`database_name`, `table_name`, `column_name`, `data_type`, `comment`, `file_format`, `path`等占位符为实际的值。在实际使用中,根据你的数据存储需求、分区需求、存储格式等来调整建表语句。

最新文章