hive的建表语句示例代码
时间: 2024-06-24 12:02:02 浏览: 145
hive建表语句
Hive是基于Hadoop的数据仓库工具,它允许用户使用SQL查询大规模数据集。在Hive中,创建表(也称为创建外部表或分区表)的语法与标准SQL有一些差异。以下是一些基本的Hive建表语句示例:
1. 创建普通表(无分区):
```sql
CREATE TABLE IF NOT EXISTS my_table (
col1 STRING,
col2 INT,
col3 DATE
) ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
```
在这个例子中:
- `my_table`是表名
- `col1`, `col2`, `col3`是列名和类型
- `STRING`, `INT`, `DATE`分别是字符串、整数和日期类型
- `ROW FORMAT DELIMITED`指定行的分隔符
- `FIELDS TERMINATED BY ','`指定了字段之间的分隔符
- `STORED AS TEXTFILE`表示数据以文本文件的形式存储
2. 创建分区表(按某个字段分区):
```sql
CREATE TABLE IF NOT EXISTS partitioned_table (
col1 STRING,
col2 INT,
dt DATE,
...其他列...
)
PARTITIONED BY (year INT, month INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
```
在这个例子中,`year`和`month`是分区键,可以根据这些字段值将数据分到不同的子目录下。
3. 如果你想创建外部表,只读连接到已经存在的HDFS目录:
```sql
CREATE EXTERNAL TABLE external_table (
...
) LOCATION '/path/to/your/data';
```
这里的`LOCATION`指定了数据实际存储的位置。
相关问题:
1. Hive支持哪些数据类型?
2. Hive如何处理大数据的?
3. Hive表和普通SQL表的主要区别是什么?
阅读全文