
Hive
Running-小猛
这个作者很懒,什么都没留下…
展开
-
Hive简介、什么是Hive、为什么使用Hive、Hive的特点、Hive架构图、Hive基本组成、Hive与Hadoop的关系、Hive与传统数据库对比、Hive数据存储
1.1 Hive简介1.1.1 什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。1.1.2 为什么使用HiveØ 直接使用hadoop所面临的问题人员学习成本太高项目周期要求太短MapReduce实现复杂查询逻辑开发难度太大 Ø 为什么要使用Hive操作接口采用类SQL...转载 2018-12-04 16:53:08 · 401 阅读 · 0 评论 -
Hive下查看表占用空间大小的方法
一、Hive下查看数据表信息的方法方法1:查看表的字段信息desc table_name;方法2:查看表的字段信息及元数据存储路径desc extended table_name;方法3:查看表的字段信息及元数据存储路径desc formatted table_name;备注:查看表元数据存储路径是,推荐方法3,信息比较清晰。hive> desc parqu...转载 2019-05-27 17:36:58 · 7602 阅读 · 0 评论 -
Hive之序列化与反序列化(SerDe)
序列化与反序列化的作用1,序列化是对象转化为字节序列的过程;2,反序列化是字节码恢复为对象的过程;序列化的作用主要有两个:(1)对象向的持久化;即把对象转换成字节码后保存文件;(2)对象数据的传输;反序列化的主要作用:对<key,value>反序列化成Hive table的每一列的值;Hive可以方便的将数据加载到表中而不需要对数据进行转换,这样在海量数...转载 2019-05-29 10:33:48 · 1220 阅读 · 0 评论 -
Hive中常见的数据倾斜问题的处理
1、什么是数据倾斜? 数据倾斜主要表现在,map/reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有时是百倍或者千倍之多),这条Key所在的reduce节点所处理的数据量比其他节点就大很多,从而导致某几个节点迟迟运行不完。2、常见容易出现数据倾斜的...转载 2019-06-21 11:43:25 · 9010 阅读 · 0 评论 -
Hive中小表和大表关联(join)的性能分析
经常看到一些Hive优化的建议中说当小表与大表做关联时,把小表写在前面,这样可以使Hive的关联速度更快,提到的原因都是说因为小表可以先放到内存中,然后大表的每条记录再去内存中检测,最终完成关联查询。这样的原因看似合理,但是仔细推敲,又站不住脚跟。 多小的表算小表?如果所谓的小表在内存中放不下怎么办?我用2个只有几条记录的表做关联查询,这应该算是小表了,在查看reduce的执行日...转载 2019-06-21 14:28:17 · 1504 阅读 · 1 评论 -
Hive中的各种join关系和使用
hive编程是整个数据仓库操作的核心,而各种业务之间的join是hive的核心,所以熟练明白滴掌握hive中的各种join是数据仓库开发工程师必备的技能。hive中的join只支持等值join,也就是说join on中的on里面表之间连接条件只能是=,不能是<,>等符号。此外,on中的等值连接之间只能是and,不能是or. (如果在on 里添加非表之间的条件可以是非等号,下面有演示...转载 2019-06-21 15:33:53 · 15940 阅读 · 2 评论 -
Hive日期转换用法
参考网址:https://blog.youkuaiyun.com/lichangzai/article/details/194062151.日期函数UNIX时间戳转日期函数:from_unixtime语法:from_unixtime(bigint unixtime[, stringformat])返回值: string说明: 转化UNIX时间戳(从1970-01-0100:00:00 UTC到指定...转载 2019-06-18 10:51:49 · 2662 阅读 · 0 评论 -
MapReduce实现倒排索引(Inverted Index)
前言:"倒排索引"是文档检索系统中最常用的数据结构,被广泛地应用于全文搜索引擎。它主要是用来存储某个单词(或词组)在一个文档或一组文档中的存储位置的映射,即提供了一种根据内容来查找文档的方式。由于不是根据文档来确定文档所包含的内容,而是进行相反的操作,因而称为倒排索引(Inverted Index)注意:(1)这里存在两个问题:第一,<key,value>对只能有两个值,在不...转载 2019-08-13 17:07:08 · 1428 阅读 · 0 评论 -
MapReduce中的数据倾斜
最近几次被问到关于数据倾斜的问题,这里找了些资料也结合一些自己的理解. 在并行计算中我们总希望分配的每一个task 都能以差不多的粒度来切分并且完成时间相差不大,但是集群中可能硬件不同,应用的类型不同和切分的数据大小不一致总会导致有部分任务极大的拖慢了整个任务的完成时间,硬件不同就不说了,应用的类型不同其中就比如page rank 或者data mining 里面一些计算,它的每条记录...转载 2019-09-09 16:08:08 · 302 阅读 · 0 评论 -
Hive修改表名,列名,列注释,表注释,增加列,调整列顺序,属性名等操作
Alter Table 语句Hive修改表名,列名,列注释,表注释,增加列,调整列顺序,属性名等操作它是在Hive中用来修改的表。语法声明接受任意属性,我们希望在一个表中修改以下语法。 ALTER TABLE name RENAME TO new_name ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...]) ...转载 2019-05-27 17:03:36 · 2226 阅读 · 0 评论 -
Hive外部表和内部表区别以及相互转换
Hive建表语句其中external关键字用来区分内部表和外部表,location指定也可以不指定默认为hive仓库路径内部表内部表默认的路径实在hive默认指定的路径,一般是在hdfs/user/hive/warehouse/database.db/tableA/下,如果删除表会连路径和数据一起删掉外部表相比于内部表外部表建表关键字多了一个external,且后面...转载 2019-05-27 16:46:59 · 4584 阅读 · 0 评论 -
数据仓库与数据集市的概念区别
1.为什么会出现数据仓库和数据集市? “数据仓库”的概念可以追溯到80 年代中期。从本质上讲,最初数据仓库是想为操作型系统到决策支持环境的数据流提供一种体系结构模型,并尝试解决和这些数据流相关的各种问题。 在缺乏“数据仓库”体系结构的情况下,早期的决策支持环境如图1 所示。企业内部存在许多冗余的、重复建设的决策支持系统(通常是报表系统),这些系统被不同类型的用户使用,数据的抽...转载 2019-05-27 14:49:08 · 641 阅读 · 0 评论 -
HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令
1.上传tar包这里我上传的是apache-hive-1.2.1-bin.tar.gz2.解压mkdir -p /home/tuzq/software/hive/tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /home/tuzq/software/hive/3.安装mysql数据库(切换到root用户)(装在哪里没有限制,只有能联通hadoop...转载 2018-12-04 17:00:43 · 395 阅读 · 0 评论 -
Hive分区与分桶
1、Hive分区是指按照数据表的某列或某些列分为多个区,区从形式上可以理解为文件夹,比如我们要收集某个大型网站的日志数据,一个网站每天的日志数据存在同一张表上,由于每天会生成大量的日志,导致数据表的内容巨大,在查询时进行全表扫描耗费的资源非常多。那其实这种情况下,我们可以按照日期对数据表进行分区,不同日期的数据存放在不同的分区,在查询时只要指定分区字段的值就可以直接从该分区查找。下面从用s...转载 2018-12-08 10:58:37 · 328 阅读 · 0 评论 -
Hive基本操作,DDL操作(创建表,修改表,显示命令),DML操作(Load Insert Select),Hive Join,Hive Shell参数(内置运算符、内置函数)等
1. Hive基本操作1.1 DDL操作1.1.1 创建表建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type[COMMENT col_comment], ...)] + [COMMENT table_comment] [PARTITIONED BY (co...转载 2018-12-08 15:18:45 · 762 阅读 · 0 评论 -
Hive常用运算(关系运算)、逻辑运算与数学运算、数值运算、日期函数、条件函数、字符串函数
hive 常用运算第一部分:关系运算Hive支持的关系运算符•常见的关系运算符•等值比较: =•不等值比较: <>•小于比较: <•小于等于比较: <=•大于比较: >•大于等于比较: >=•空值判断: IS NULL•非空判断: IS NOT NULL•LIKE比较: LIKE•JAVA的LIKE操作: RL...转载 2018-12-08 15:24:25 · 1945 阅读 · 0 评论 -
Hive数据类型
Hive 数据类型本文参考Apache官网,更多内容请参考:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types1、数值型1. Integral Types (TINYINT, SMALLINT, INT/INTEGER, BIGINT) 默认情况下,整数型为INT型,当数字大于INT型的范...转载 2018-12-08 15:32:44 · 1312 阅读 · 0 评论 -
Hive 整合Hbase
1、摘要Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询、同时也可以将hive表中的数据映射到Hbase中。2、应用场景2.1 将ETL操作的数据存入HBase2.2 HBase作为Hive的数据源2.3 构建低延时的数据仓库3、环境准备3.1 hive与hbase版本兼容性Hi...转载 2018-12-08 15:43:30 · 212 阅读 · 0 评论 -
Hive函数分类、CLI命令、简单函数、聚合函数、集合函数、特殊函数(分析函数、窗口函数、混合函数,UDTF),常用函数Demo
1.1 Hive函数分类1.2 Hive CLI命令显示当前会话有多少函数可用show functions;显示函数的描述信息:DESC FUNCTION concat;显示函数的扩展描述信息:1.3 简单函数函数的计算粒度为单条记录:关系运算数学运算逻辑运算数值计算日期函数类型转换条件函数字符串函数统...转载 2018-12-07 09:21:03 · 282 阅读 · 0 评论 -
Hive 时间日期处理总结
获得当前日期的几种用法:1.先来一个比较老的,select unix_timestamp() ;结果如下:2.通过提示可知该用法已经被放弃了建议采用current_timestamp来替代。查结果如下:3.如果当前时间为int类型则需要转义一下比如使用from_unixtime() SELECT from_unixtime(unix_timestamp());...转载 2019-04-25 16:21:12 · 7389 阅读 · 0 评论 -
Hive数据倾斜(调优)解决方案
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如...转载 2019-10-11 10:20:05 · 328 阅读 · 0 评论