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的数据,移动到对应的表路径下的

相关推荐
天天爱吃肉82183 小时前
【电源拆解:跟着问答逐一认识开关适配器PCB元器件】
大数据·人工智能·python·功能测试·嵌入式硬件·汽车
Elastic 中国社区官方博客3 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
abcy0712133 小时前
storm核心实时机制
大数据·storm
灵机一物3 小时前
合伙制律所分红和提成律师个税怎么合规优化?
大数据·人工智能
Elastic 中国社区官方博客6 小时前
如何使用 OpenTelemetry 对你的搜索 API 进行埋点,并使用 ES|QL 对其进行查询
大数据·功能测试·elasticsearch·搜索引擎·全文检索·可用性测试
Xzaveir_7777 小时前
OPPO、vivo、荣耀号码认证:多终端拨测矩阵与异常复现
大数据·网络·科技·矩阵·产品经理·ai-native
老徐聊GEO7 小时前
亲测有效的AI品牌检测公司案例分享
大数据·人工智能·python
韭菜学长7 小时前
科技型中小企业如何申请政府补贴?申报指南
大数据·人工智能
延凡科技7 小时前
智慧燃气解决方案:管道煤气监管应用管理系统(三维GIS+IoT+大数据落地实战)
大数据·人工智能·科技·物联网·安全
imbackneverdie8 小时前
知网官宣:禁止 AI 列为论文署名作者,标注 Gemini、DeepSeek 等 AI 为作者的稿件统一下架
大数据·人工智能·ai·职场和发展·aigc·科研·高校