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 ...
随机推荐
- phpStudy
『软件简介』 该 程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使 ...
- [转]Java 8:不要再用循环了
以下内容为转载,没有在jdk8中测试,具体业务场景是否存在BUG或使用需要注意的地方有待测试. ------------------分割线---------------------- 正如我之前所写的 ...
- BZOJ4046 [Cerc2014] Pork barre
我们把边按权值从大到小依次加入图中 如果加到边权$V$,则当前的最小生成森林中边权$v\in[V, V']$(其中$V'$是任意值)形成的森林的边权和就是对于询问$[V, V']$的答案 由于点数不多 ...
- java_easyui体系之DataGrid(4)[转]
一:简介 在前面DataGrid(3)的基础上添加后台的实现.本来是想只搭建前台页面的.后台不写.现在觉得还是都实现好点.从真实情况出发.后台用的ssh. 1. 新增冻结列功能. 2. 实现界面的添加 ...
- windows下安装KeystoneJS
安装参考: http://keystonejs.com/zh/getting-started/ http://jsnoder.com/kjs/quickstart 安装前提条件: 安装 Node.JS ...
- PR和VV的分类与区别
Adobe Premiere是一款常用的视频编辑软件,由Adobe公司推出.现在常用的有CS4.CS5.CS6.CC.CC 2014及CC 2015版本.是一款编辑画面质量比较好的软件,有较好的兼容性 ...
- SQL Server存储过程Return、output参数及使用技巧
SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Server2000的推出,微软的这种数据库服务系统真正地实现了在WindowsNT/2000 ...
- SAP常用命令及BASIS操作
Pfcg 角色,权限参数文件配置Su53 查看权限对象 st01 跟踪St22 看dump,以分析错误 eg.找到ABAP程序出错的地方,找出fou ...
- JavaScript对象中的属性(可写,可配置,可枚举,value,getter,setter)
JavaScript中,对象包括3个特性,分别为,可扩展性,class标识符,属性. 如果对象的可扩展性为false,则不可为对象动态的添加属性. 对象包含分为存取器属性和值属性.存取属性为 {g ...
- web.xml的初始化参数
web.xml的初始化参数 ---------首先声明,这里所介绍的是web中context-param,init-param参数的初始化配置---------- ------------------ ...