HIVE表操作

Hive有四种表:内部表,外部表,分区表,分桶表。分别对应不同的需求。又可将他们分为两组内部表和外部表、分区表和分桶表,其中分区表在企业中用的最多,可以说百分之八九十的表都是分区表。

创建表

方式1:基本创建

sql 复制代码
-- EXTERNAL 代表外部表 
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name 
[(col_name data_type [COMMENT col_comment], ...)] 
[COMMENT table_comment] :----重要
-- 分区表设置 分区的字段和类型
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] 
-- 桶表设置 按照什么字段进行分桶
[CLUSTERED BY (col_name, col_name, ...) 
-- 桶内的文件 是按照 什么字段排序   分多少个桶
[SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] 
-- 分隔符 + 序列化反序列化
[ROW FORMAT row_format] 
-- 表存储格式格式
[STORED AS file_format] 
-- 表所对应的hdfs目录
[LOCATION hdfs_path]
[TBLPROPERTIES (property_name=property_value, ...)]

方式2:create table as select建表

该语法允许用户利用select查询语句的结果,直接建表,表的结构和查询语句的结构保持一致,并且包含查询语句里的所有内容。

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| CREATE TABLE [IF NOT EXISTS] table_name [AS select_statement] [COMMENT table_comment] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION hdfs_path] [TBLPROPERTIES (property_name=property_value, ...)] |

as:后跟查询语句,根据查询结果创建表。

方式3:create table like建表

该语法允许用户复制一张已经存在的表的结构,但是和上面的CTAS语法不同,该语法创建出来的表中不包含数据。

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| CREATE TABLE [IF NOT EXISTS] table_name LIKE table_name [COMMENT table_comment] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION hdfs_path] [TBLPROPERTIES (property_name=property_value, ...)] |

like允许用户复制现有的表结构,但是不复制数据。

加载数据

sql 复制代码
----本地加载数据(hdfs 不需要加local)
load data local inpath "/home/hewwen8888/data/ch4_emp.txt"  overwrite into table ds_hive.ch4_emp;
sql 复制代码
-- hdfs上加载数据,不用local
load data  inpath "/user/hewwen8888/data/ch4_emp.txt"  overwrite into table ds_hive.ch4_emp_l;

区别:磁盘上的数据复制到hdfs上,hdfs的数据,移动到对应的表路径下的

相关推荐
key_3_feng1 小时前
反馈闭环:Agent 自我进化的真正引擎
大数据·agent
EnCi Zheng2 小时前
Agent 如何进行工具调用:从一次 Function Calling 到生产级工具编排的完整链路
大数据·人工智能·agent·ai编程·工具调用
GlobalInfo2 小时前
重磅发布 | 2026年船体清洁机器人行业研究报告:市场规模、发展前景与十五五战略地图
大数据·人工智能·机器人
海宇服务2 小时前
零信任架构实战:基于海宇全能小微企业报告构建自动化园区商户免押租赁资信核验网关
大数据·人工智能·架构·自动化
热文新讯3 小时前
迎进博·话疗愈:2026酒店“疗愈睡眠”闭门研讨会在沪举行
大数据·人工智能·物联网
NailiConveyor6 小时前
柔性物流方案如何适配工厂升级?自动化输送流水线定制要点
大数据·运维·自动化·制造·业界资讯
梦影_6 小时前
MySQL进阶教程(五)—— SQL调优(下)
android·大数据·数据库·后端·sql·mysql·database
没落之王6 小时前
三易五行看宋朝的三界确立
大数据·人工智能·算法
samLi06208 小时前
【数据集】水星逆行及相关日期窗口数据(1973-2025年)
大数据
updayday8549 小时前
客户附件不该发往旧邮箱,如何在发送前拦截 - Ping64 邮件安全管控
大数据·网络·数据库·安全·智能路由器