1.Hive 分区partition 必须在表定义时指定对应的partition字段 a.单分区建表语句: create table day_table (id int, content string) partitioned by (dt string); 单分区表,按天分区,在表结构中存在id,content,dt三列. 以dt为文件夹区分 b. 双分区建表语句: create table day_hour_table (id int, content string) partitioned…
hive   ddl 操作官方手册https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL hive  dml 操作官方手册https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML   1.创建库 create database test; 2.删除库 drop database test;   3.建表 完整ddl建表语法规则 CREATE…
一.Hive的表 Hive的表分为内部表.外部表和分区表. 1.内部表,为托管表. 2.外部表,external. 3.分区表. 详解: 内部表,删除表的时候,数据会跟着删除. 外部表,在删除表的时候,数据不会跟着删除. 默认分隔符:列 为 \001         行分隔符为 \n 分区表: 1.解决查询效率,不全表查询,只查对应的分区. 2.避免数据重复的问题,即数据质量方面安全. create table tablename ( 字段1 字段类型 , 字段2 字段类型 ) PARTITIO…
创建hive表注意事项 一.表分隔符必须与读取的数据文件一致,比如例子的分隔符为 '\t'(制表符),hive下默认分隔符是制表符. 二.最好指定分区作为数据之间的区分. 三.创建完表可以desc+表明进行查看,字段名称(field),类型(type),common(备注,默认没的话为空). eg: drop table track_log;create table track_log (id string ,url string ,referer string ,keyword string…
知识点: 格式转换:cast(xxx as int) 按某列分桶某列排序,排序后打标机:例如:求每个地区工资最高的那个人的信息: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) row_number() over(distribute by t1.loc sort by cast(t1.sal as int) desc) as index dept表 hive> select * from dept; # deptno(部门编号) d…
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 1.内置运算符 1.1关系运算符 运算符 类型 说明 A = B 所有原始类型 如果A与B相等,返回TRUE,否则返回FALSE A == B 无 失败,因为无效的语法. SQL使用”=”,不使用”==”. A <> B 所有原始类型 如果A不等于B返回TRUE,否则返回FALSE.如果A或B值…
hive复制表结构 CREATE TABLE new_table LIKE old_table; 例:创建一个和stg_job表一样表结构的s_job表 create table s_job like stg_job;…
1 准备数据: 1.1 t_1 01 张三 02 李四 03 王五 04 马六 05 小七 06 二狗 1.2 t_2 01 11 03 33 04 44 06 66 07 77 08 88 1.3 t_3 01 男 02 男 03 女 04 男 05 女 06 女 07 男 08 X 2 创建表:t_1,t_2,t_3 create table if not exists t_1(id string,name string)row format delimited fields termina…
1.内置运算符 1.1关系运算符 运算符 类型 说明 A = B 所有原始类型 如果A与B相等,返回TRUE,否则返回FALSE A == B 无 失败,因为无效的语法. SQL使用”=”,不使用”==”. A <> B 所有原始类型 如果A不等于B返回TRUE,否则返回FALSE.如果A或B值为”NULL”,结果返回”NULL”. A < B 所有原始类型 如果A小于B返回TRUE,否则返回FALSE.如果A或B值为”NULL”,结果返回”NULL”. A <= B 所有原始类型…
对于每一个表(table)或者分区, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分.Hive也是针对某一列进行桶的组织.Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中. 把表(或者分区)组织成桶(Bucket)有两个理由: (1)获得更高的查询处理效率.桶为表加上了额外的结构,Hive 在处理有些查询时能利用这个结构.具体而言,连接两个在(包含连接列的)相同列上划分了桶的表,可以使用 Map 端连接 (Map-side join)高效的实现.比…