Hive SQL优化方式及使用技巧

本文介绍了Hive作为Hadoop数据仓库工具的基本概念,包括Hive的DDL语句,如创建内部表和外部表。重点讨论了Hive SQL的优化方法,如列裁剪、分区裁剪、优化join操作、小表放前大表放后、使用MapJoin、动态分区等,以减少数据量,提升查询效率。
摘要由CSDN通过智能技术生成

HIVE简介
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询,可以将sql语句转换为MapReduce任务进行运行

同时,hive也允许熟悉map-reduce的开发者开发自定义的mapper和reducer来处理内建的mapper和reducer无法处理的复杂的分析工作。

用户发出sql命令----> hive处理并转换为MapReduce---->提交任务到hadoop并运行在hdfs

HIVE DDL
Hive建表(压缩表和非压缩表)

一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在于表文件夹的目录下

创建表:指定exterbal关键字的就是外部表,没有就是内部表。内部表在drop的时候会从hdfs上删除数据,外部表不会删除

如果不指定数据库,hive会把表创建在默认数据库下。

创建内部表:
create table if not exists my_inner_table
(id bigint comment ‘逻辑id,记录唯一id’,
user_id string comment ‘user_id’
) comment ‘内部表’
partitioned by (dt string comment ‘date, yyyy-mm-dd’)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\001’
lines terminated by ‘\n’
STORED AS TEXTFILE;

创建外部表:
create external table if not exists my_external

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值