在 Hive 中创建表通常使用 HiveQL(类 SQL 语法)。下面从基础到常见场景给你说明。
CREATE TABLE IF NOT EXISTS student (
id INT,
name STRING,
age INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
说明:
IF NOT EXISTS:表不存在才创建ROW FORMAT DELIMITED:指定行格式FIELDS TERMINATED BY ',':字段分隔符STORED AS TEXTFILE:存储格式(默认)CREATE TABLE db_name.student (
id INT,
name STRING
);
或先切换数据库:
USE db_name;
CREATE TABLE student (...);
删除表时,数据和元数据都会删除
CREATE TABLE inner_table (
id INT,
name STRING
);
删除表时,只删元数据,数据保留
CREATE EXTERNAL TABLE outer_table (
id INT,
name STRING
)
LOCATION '/user/hive/warehouse/outer_table';
✅ 生产环境常用外部表
STORED AS TEXTFILE
STORED AS ORC
STORED AS PARQUET
示例:
CREATE TABLE user_orc (
id INT,
name STRING
)
STORED AS ORC;
CREATE TABLE order_table (
order_id INT,
amount DOUBLE
)
PARTITIONED BY (dt STRING)
STORED AS ORC;
插入分区数据:
INSERT INTO order_table PARTITION (dt='2025-01-01')
VALUES (1, 100.0);
CREATE TABLE user_bucket (
id INT,
name STRING
)
CLUSTERED BY (id) INTO 4 BUCKETS
STORED AS ORC;
CREATE TABLE new_table LIKE old_table;
CREATE TABLE result_table
AS
SELECT id, name FROM student WHERE age > 18;
DESCRIBE student;
DESCRIBE FORMATTED student;
如果你愿意,可以告诉我:
我可以帮你写 可直接用的建表语句 ✅
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。