hive中用CREATE TABLE AS SELECT建分区表
时间: 2024-09-18 16:07:52 浏览: 208
Hive的分区表
5星 · 资源好评率100%
在Hive中,`CREATE TABLE AS SELECT` (CTAS)命令用于从已存在的SELECT查询结果创建一个新的表。如果你想创建一个分区表(partitioned table),你可以这样做:
```sql
CREATE TABLE new_partition_table
PARTITIONED BY (part_col1 STRING, part_col2 INT)
AS
SELECT * FROM existing_table;
```
这里,`new_partition_table`是你新创建的分区表的名字,`part_col1` 和 `part_col2` 是你想要按照哪些列来分区,它们应该已经在`existing_table`中有相应的值。
比如,如果你有一个按月份分区的老数据,你可以这样创建分区:
```sql
CREATE TABLE sales_monthly
PARTITIONED BY (month STRING)
AS
SELECT date, sales_amount, month_name FROM historical_sales;
```
这将把`historical_sales`表中的数据基于`month_name`字段创建新的`sales_monthly`表,每个月的数据作为一个分区存储。
阅读全文