hive (二) ----- hive的常用操作

一、hive操作

1.创建表

CREATE TABLE t3(id int,name string,age int) PARTITIONED BY (Year INT, Month INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,‘ ;

2.导出表结构+数据

EXPORT TABLE customers TO ‘/user/centos/tmp.txt‘;        

3.排序

1)order全排序

order by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)。

只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。

select * from orders order by id asc ;

2)sort,map端排序,本地有序。

sort by不是全局排序,其在数据进入reducer前完成排序。

因此,如果用sort by进行排序,并且设置mapred.reduce.tasks>1, 则sort by只保证每个reducer的输出有序,不保证全局有序。

select * from orders sort by id asc ;

3)distribute by

类似于mysql的group by,进行分区操作。

按照指定的字段对数据进行划分到不同的输出reduce文件中。

select cid , ... from orders distribute by cid sort by name ;            //注意顺序.
select id,orderno,cid from orders distribute by cid sort by cid desc ;

4)cluster by

除了具有 distribute by 的功能外还兼具 sort by 的功能。

但是排序只能是倒序排序,不能指定排序规则为asc 或者desc

cluster by ===>  distribute by cid sort by cid

4.设置作业参数

set hive.exec.reducers.bytes.per.reducer=xxx            //设置reducetask的字节数。
set hive.exec.reducers.max=0                    //设置reduce task的最大任务数
set mapreduce.job.reduces=0                    //设置reducetask个数。

5.函数

mysql>select concat(‘tom‘,1000) ;
$hive>select current_database(),current_user() ;
$hive>tab                                            //查看帮助

原文地址:https://www.cnblogs.com/water-sky/p/10221248.html

时间: 2024-11-04 11:01:11

hive (二) ----- hive的常用操作的相关文章

C:二维数组常用操作

/* 说明:程序实现二维数组中插入列.插入行.交换两个指定位置的元素,并输出指定 位置元素的变化轨迹 作者:socrates 日期:2014-08-17 */ #include "stdafx.h" #include <stdlib.h> #include <assert.h> /*二维数组最大行数和列数*/ #define MAX_ROW_NUM (9) #define MAX_COL_NUM (9) /*二维数组中各元素位置信息*/ typedef stru

DOM常用操作

文档对象模型( DOM, Document Object Model )主要用于对HTML和XML文档的内容进行操作.DOM描绘了一个层次化的节点树,通过对节点进行操作,实现对文档内容的添加.删除.修改.查找等功能. 一.DOM树 DOM树有两种,分别为节点树和元素树. 节点树:把文档中所有的内容都看成树上的节点: 元素树:仅把文档中的所有标签看成树上的节点. 二.DOM常用操作 2.1 查找节点 document.getElementById('id属性值'); 返回拥有指定id的第一个对象的

5种redis常用操作(数据类型+键值+服务+安全)

[toc] 5种redis常用数据类型操作 一.Redis常用操作 (string, list) 1.1 如果一个key设置两个不同的值,第二个值会覆盖第一个值. [[email protected] ~]# cd /usr/local/src/redis-4.0.9 [[email protected] redis-4.0.9]# redis-cli 127.0.0.1:6379> set key1 xavi OK 127.0.0.1:6379> set key2 xavilinux OK

Hive数据类型及常用操作总结(一)

一.Hive 数据类型 Hive 提供了基本数据类型和复杂数据类型,复杂数据类型是 Java 语言所不具有的. 基本数据类型 Hive是用java开发的,hive里的基本数据类型和java的基本数据类型也是一一对应的,除了string类型.有符号的整数类型:TINYINT.SMALLINT.INT和BIGINT分别等价于java的byte.short.int和long原子类型,它们分别为1字节.2字节.4字节和8字节有符号整数.Hive的浮点数据类型FLOAT和DOUBLE,对应于java的基本

Hive基础之Hive表常用操作

本案例使用的数据均来源于Oracle自带的emp和dept表 创建表 语法: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED

Hive Shell常用操作

1.本文命令的两种模式: 交互模式,即hive的shell环境:hive > …. 非交互模式:普通的Linux命令模式:%..... 2.Hive Shell常用操作 1) hive -e:从命令行执行指定的HQL,不需要分号: % hive -e 'select * from dummy' > a.txt 2) hive –f: 执行HQL脚本 % hive -f /home/my/hive-script.sql 3) hive -i:在进入交互模式之前,执行初始化sql文件 % hive

Hive命令行常用操作(数据库操作,表操作)

数据库操作 查看所有的数据库 hive> show databases ; 使用数据库default hive> use default; 查看数据库信息 hive > describe database default; OK db_name comment location owner_name owner_type parameters default Default Hive database hdfs://hadoop1:8020/user/hive/warehouse pub

C++实现二叉搜索树的常用操作

实现操作 (1)二叉搜索树的建立 (2)二叉搜索树的插入 (3)二叉搜索树的三种递归遍历(前序.中序和后续) (4)二叉搜索树的三种非递归遍历(前序.中序和后续) (5)二叉搜索树的逐层打印 (6)搜索某一个字符(递归算法) (7)搜索一个字符(非递归算法) (8)查找最大元素 (9)查找最小元素 有时间再实现: (10)二叉搜索树的前驱和后继查找 (11)二叉搜索树的删除 源码分析: #include <iostream> #include <stack> #include &l

hive常规配置及常用命令使用

hive 常用的几种shell交互方式 查看hive命令帮助:bin/hive -help [[email protected] hive]$ bin/hive -help usage: hive -d,--define <key=value> Variable subsitution to apply to hive commands. e.g. -d A=B or --define A=B --database <databasename> Specify the databa