Hive
hive
一只小辣鸡
a hot chicken
展开
-
Hive不支持 join on like非等值join连接,可用LOCATE()代替
问题一般我们写连接时都是join...on tb1.a = tb2.b,有时也会用到like的写法。MySQL和Oracle都支持join...on...like的操作:SELECT * FROM table1 LEFT JOIN table2 ON table1.xxx LIKE CONCAT('%',table2.yyy,'%') 但是Hive不支持like这种非等值连接,会报错。解决方法法一在网上搜到的方法:SELECT * FROM table1 LEFT JOI原创 2020-05-20 17:54:55 · 4796 阅读 · 2 评论 -
hive hql 无trim(leading)函数、ltrim()函数,可用regexp_replace()函数替代
问题HIVE使用trim(leading)、trim(trailing)、trim(both) 函数报错原函数作用trim(leading)用于去除字符串开头的指定字符。如:去除 '0012300’开头的所有0select trim(leading ‘0’ from ‘0012300’)输出结果:12300同样,trim(trailing) 用于去除字符串结尾的指定字符;tr...原创 2020-04-26 18:22:02 · 6570 阅读 · 0 评论 -
hiveql 没有left()right()函数,可用substr()替代
问题用hive执行left(field, num)函数和right()函数报错:cannot recognize input near ‘RIGHT’ ‘(’ …方法用substr()函数代替:left(field, 3) -> substr(field, 0, 3) 或 substr(field, 1, 3)right(field, 3) -> substr(field,...原创 2020-04-24 13:15:54 · 13053 阅读 · 0 评论 -
hive sql转mapreduce JAVA&beeline 自定义函数
检验过程:explainJAVA&beeline步骤: - cd $HIVE_HOME/hiveserver2 –启动hive服务 《java操作hive中的常用问题》 - IntelliJ IDEA - 加入hive依赖包 mvnrepository.com -> jdbc -> 版本 e.g.<dependency> <g...原创 2018-08-22 18:12:02 · 416 阅读 · 0 评论 -
Hive left semi join 半关联
hive中没有主键外键之分,但可以多表关联查询(值关联)。mysql: - left jion - right jion - inner jionselect * from tb_1 left jion tb_2 on tb_1.col_1=tb_2.col_2;hive: - jion - left outer jion - right outer jion...原创 2018-08-22 18:09:46 · 1069 阅读 · 0 评论 -
hive 数据储存
数据库储存位置hdfs/Data Load数据倾斜map/reduce程序执行时,reduce大部分节点执行完毕,只有几个reduce 节点执行很慢,导致整体处理时间很长,这是因为某一个key的条数比其他key多很多,这条key所在的reduce节点处理的数据量很大,从而导致某几个节点运行速度慢,成为数据倾斜。 hive表临时表:特殊管理表,仅作用于当前进程...原创 2018-08-22 18:08:27 · 275 阅读 · 0 评论 -
hive 导入 导出
导出表到hdfs –备份exportEXPOET TABLE tb_name TO 'file_path';结果:tb_name_export导入表数据 –还原importIMPORT TABLE tb_name FROM 'file_path';排序SELECT col_name FROM tb_name ORDER BY col_1 asc...原创 2018-08-22 18:05:02 · 165 阅读 · 0 评论 -
hive 分桶
创建分桶hive时针对某一列进行分桶,提高查询效率 hive采用对列值哈希hash,除以桶个数求余的方式,决定记录存放位置clustered by(col_name) sorted by(col_name) into num buckets根据表分桶create table tb_name (name string,age int) CLUSTERED BY ...原创 2018-08-22 18:03:28 · 172 阅读 · 0 评论 -
hive 分区表
最简分区表e.g.partitioned byCREATE TABLE tb_name(name string partitioned by (age int)) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'加载分区表(静态)load data local inpath 'file_path' ...原创 2018-08-22 18:03:02 · 128 阅读 · 0 评论 -
hive DML-Load,insert into,
数据加载hive一般不通过insert插入数据,而是加载。 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] [INPUTFORMAT 'inputformat' ...原创 2018-08-22 18:02:37 · 663 阅读 · 0 评论 -
hive 数据类型&分类
数据类型基本数据类型一般情况只存1个值(一般同普通数据库,特殊:string = varchar)集合数据类型可储存多个值常用: array:数组(和java一样) name | likes | age —|—|– 张三 | 篮球,乒乓球 | 18map:Hive SQL分类DDL-数据定义语言建表,修改表,删表,分区,数据类型D...原创 2018-08-18 10:44:54 · 687 阅读 · 0 评论 -
hive 区别 优缺点 场景
数据仓库与数据库区别数据库:主要面向OLTP服务 数据仓库:主要面向OLAP服务 OLTP:联机事务处理,用来实时记录交易信息。快速返回响应信息,毫秒级倾向于业务OLAP: 联机及分析处理,用来分析查询所存数据。一般系统按天、周、月生成报表。OLAP属于商业智能范畴,数据需要研究、处理、分析,驱动商业决策倾向于分析CAP原则 指的是在一个分布式系统中,...原创 2018-08-18 10:44:34 · 3703 阅读 · 0 评论 -
hive 简介 数据仓库介绍
HIVE简介由Facebook开发,Hadoop集群:庞大数据存储 & 统计(计算)需求 HIVE基于Hadoop的数据仓库工具,强依赖 原理:将HQL语句转换成Mapreduce任务 SQL –> Mapreduce –> Hadoop建立在Hadoop的其他组件之上依赖HDFS进行存储依赖Mapreduce进行查询数据仓库数据源外...原创 2018-08-18 10:43:59 · 323 阅读 · 0 评论 -
关于MapReduce的理解
字面翻译:map -> 映射reduce -> 缩减简易作用:对海量数据进行并行计算的一个编程模型。一.Master:负责调度,分配任务给Worker执行二.Worker 1.mapper:执行函数任务 2.Reducer:汇总mapper传来的结果MapReduce大体上分为六个步骤:input,:输入split:拆分,转换为key-value对 ...原创 2018-05-03 00:10:30 · 258 阅读 · 0 评论