Hive操作表部分总结
创建表:
create table tableName(time INT,userid BIGINT,url STRING,ip STRING COMMENT 'IP Address of the User') COMMENT 'This is the tableName table' PARTITIONED BY (dt STRING,country String) CLUSTERED BY(userid) SORTED BY(time) INTO 32 BUCKETS ROW FORMAT DELIMITED FIELDS TERMINATED BY '001' MAP KEYS TERMINATED BY '\003' STORED as SEQUENCEFILE;
按照userid进行分区划分到不同的桶中,并按照time值的大小进行排序存储。这样的组织结构允许通过userid属性高效地对集群列进行采样。
删除表:
drop table tableName;
修改表、分区语句:
alter table tableName add partition_spec [LOCATION 'location1'] partition_spec [LOCATION 'location2']...
用户可以用alter table add partition来对表增加分区。当分区名字是字符串时加引号,比如对上述建表语句中:
alter table tableName add partition(dt='2010-08-08',country='us') location '/path/to/us/part080808' parition(dt='2010-08-09',country='us') location '/path/to/us/part080809';
删除分区:
alter table tableName drop partition(dt='2010-08-08'),country='us');
将会删除分区,分区的元数据和数据将被一并删除。
重建表名:
alter table tableName rename to newtableName
可以更换表名,数据所在的位置和分区名并不改变。这里老的表名并未被释放,对老表进行修改会改变新表的数据。
改变列名字/类型/位置/注释:
alter table tableName change [column] col_old_name col_new_name column_type [comment col_comment] [FIRST| after column_name]
数据操作(DML)
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] into table tableName [partition(partcl1 = val1....]
其中filepath可以是相对路径也可以是绝对路径,或者是filepath可以是完整的URL(例如:hdfs://namenodeIP:9000/user/admin/project/data1).加载的目标可以是一个表或分区,如果表包含分区则必须制定每个分区的分区名。
JOIN操作
当使用写有Join操作的查询语句时,有一条原则,应该将条目少的表/子查询放在join操作符的左边,原因是这样可以有效减少发生内存溢出的几率
GROUP BY操作
1、map端部分聚合,并不是所有的数据聚合操作都要在reduce端进行聚合,这里需要修改参数为:hive.map.aggr = true,用于是否在map端进行聚合。默认为true. hive.groupby.mapaggr.checkinterval = 100000,用于设定在map端进行聚合的条目数。
2、数据倾斜时进行负载均衡。需要设定hive.groupby.skewindata,当选项为true时,生成的查询计划会有两个mapreduce任务。在第一个mapreduce中,map的输出结果集合会随机分不到reduce中,每个reduce做部分聚合操作,并输出结果。这样处理的结果是,相同的group by key 有可能被分发到不同的reduce中,从而达到负载均衡的作用。第二个MapReduce任务再根据预处理的数据结果按照Group By Key分布到reduce中(这个过程可以保证相同的Group By Key 分布到同一个Reduce中),最后完成最终的聚合操作。
3、合并小文件
Hive操作表部分总结的更多相关文章
- Hadoop Hbase理论及实操
Hbase特点 HBase是一个构建在HDFS上的分布式列存储系统:HBase是基于Google BigTable模型开发的,典型的key/value系统:HBase是Apache Hadoop生态系 ...
- hadoop笔记之Hive的数据存储(视图)
Hive的数据存储(视图) Hive的数据存储(视图) 视图(view) 视图是一种虚表,是一个逻辑概念:可以跨越多张表 既然视图是一种虚表,那么也就是说用操作表的方式也可以操作视图 但是视图是建立在 ...
- hive日志位置(日志定位报错:Failed with exception Unable to move sourcehdfs://namenode/tmp/hive-pmp_bi/h)
Hive中的日志分为两种 1. 系统日志,记录了hive的运行情况,错误状况. 2. Job 日志,记录了Hive 中job的执行的历史过程. 日志查看方法 1,在本地运行机器上 hive日志存储位置 ...
- Hive 口袋手册
2019-04-01 关键字:Hive 学习总结.Hive 基础 . Hive 进阶 .Hive 调优 . Hive 入门手册.Hive PDF 下载 本篇文章系本人就目前所掌握的知识对 Apache ...
- Hive 表类型简述
Hive 表类型简述 表类型一.管理表或内部表Table Type: MANAGED_TABLE example: create table Inner(id int,name string, ...
- hive DML
1.load files into tables 把文件中的数据加载到表中(表必须先建好) 语法是: load data [local] inpath 'filepath' [overwrite] i ...
- 搭建Hive所遇到的坑
##一.基本功能: 1.启动hive时报错 java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Metho ...
- hive 标准hql建表语法格式
一.标准hql建表语法格式1.官方标准语法:(hql不区分大小写,下面[]里的属性是可选属性) 具体参考官网界面:HIVE官网建表说明文档 CREATE [EXTERNAL] TABLE [IF NO ...
- Hive的五个基础介绍
一.什么是Hive? 1.Hive是一个翻译器,SQL ---> Hive引擎 ---> MR程序 2.Hive是构建在HDFS上的一个数据仓库(Data Warehouse) Hive ...
随机推荐
- Java设计模式系列3--抽象工厂模式(Abstract Factory Method)
2014-02-26 10:55:47 声明:本文不仅是本人自己的成果,有些东西取自网上各位大神的思想,虽不能一一列出,但在此一并感谢! 工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果 ...
- Java学习指南学习笔记
1, Java是一种静态类型.动态绑定的语言.具体来说,每一个对象都是编译时确定的良好类型.同时,可以在运行时检查一个对象究竟是什么. 2, Java中除了基本数字类型之外,Java中所有的对象都是通 ...
- C++二进制文件中读写bitset
这个比较简单,直接上代码: bitset< > *b = >(); bitset< > *c = >(); ofstream out("I:\\test. ...
- 读取配置文件 PropertyPlaceholderConfigurer 的配置与使用
public class SpringPropertyConfigurer extends PropertyPlaceholderConfigurer { private static Map< ...
- 怎么做一个bat文件
怎么做一个bat文件 | 浏览:639 | 更新:2014-11-25 17:02 1 2 3 4 5 6 7 分步阅读 其实做一个.BAT文件很简单,下面我就以做一个清除系统垃圾.BAT文件为例,给 ...
- HTML5新增video标签及对应属性、API详解
知识说明: 比不上很牛的前端开发人员,但自始至终明白“万丈高楼平地起”,基础最重要,初学HTML5,稳固基础第一步,把最基本的整理下来,留下自己学习的痕迹.HTML5新增的video标签,将其属性以及 ...
- 1、Centos 7 系统的初化始配置
1.IP的配置临时生效: ifocnfig 主机名 IP地址(如 ) 永久生效(需要进入配置文件): vi /etc/sysconfig/network-scripts/ifcfg-主机名 2.主机名 ...
- CSS 选择器【详解】
转自:http://www.cnblogs.com/polk6/archive/2013/07/19/3142142.html CSS 选择器及各样式引用方式介绍 一个好的界面,是一个Web吸引人们最 ...
- UVA 12661(动态权值+最短路,dij)
题意:赛车背景,给你n个节点,m条边的图以及起点和终点:其中每条边的信息包括u(起点),v(终点),a(开启的时间),b(关闭的时间),d(通过这条道路的时间):求最短通过的时间,其中车在进的时候,保 ...
- H5实现俄罗斯方块(四)
图片加载的js: (function (window) { 'use strict'; //定义缓存的Map对象 var cacheMap = new Map(); //资源的总数量 var reso ...