
Hive
今夕何夕-l
这个作者很懒,什么都没留下…
展开
-
Hive数据倾斜
1.概念 map/reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有时是百倍或者千倍之多),这条key所在的reduce节点所处理的数据量比其他节点就大很多,从而导致某几个节点迟迟运行不完,此称之为数据倾斜。 2.hive产生数据倾斜的原因 (1)key 分布不均匀 (2)业务数据本身的特性 (3)建表时考虑不周 (4)某些 SQL 语句本身就有数据倾斜 3.解决方案 (1)参数调节原创 2020-10-14 10:29:58 · 191 阅读 · 0 评论 -
Hive性能优化
Hive性能调优工具 1.EXPLAN(执行计划) 显示查询语句的执行计划,但不运行 通过工具生成可视化执行计划 (1)基本语法 EXPLAIN [EXTENDED | DEPENDENCY | AUTHORIZATION] query ①EXTENDED 提供执行计划关于操作的额外信息,比如文件路径 ②DEPENDENCY 提供JSON格式输出,包括查询所依赖的表和分区列表 ③AUTHORIZATION 列出所有需要授权的实体,包括查询的输入输出和授权失败 (2)实例演示: ①查看下面这条语句的执行计原创 2020-10-13 20:18:13 · 330 阅读 · 0 评论 -
Hive之DML操作详解
1.概念区分: ①DML(Data Manipulation Language) 数据操纵语言 :主要用来对数据库的数据进行一些操作,常用的就是INSERT、UPDATE、DELETE。 ②DDL(Data Define Language) 数据定义语言:常用的有CREATE和DROP,用于在数据库中创建新表或删除表,以及为表加入索引等 ③DCL(Data Control Language) 数据控制语言:通过GRANT和REVOKE,确定单个用户或用户组对数据库对象的访问权限 2.数据导入 (1)向表中装原创 2020-10-13 19:20:34 · 1436 阅读 · 0 评论 -
Hive事务
1.概念: 是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元); 2.事务特性(ACID) (1)Atomicity:原子性 事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做 (2)Consistency:一致性 事 务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统 运行原创 2020-10-13 11:39:09 · 576 阅读 · 0 评论 -
Hive函数和UDF详解
Hive函数 1.数学函数 (1)round ①返回对a四舍五入的BIGINT值 round(DOUBLE a) 返回值:DOUBLE ②返回对a四舍五入并保留d位小数位的值 round(DOUBLE a, INT d) 返回值:binary (2)floor 向下取整,如:6.10->6 -3.4->-4 floor(DOUBLE a) 返回值:BIGINT (3)rand 返回一个DOUBLE型随机数,seed是随机因子 rand(INT seed) 返回值:DOUBLE (4)原创 2020-10-13 10:38:28 · 1428 阅读 · 0 评论 -
Hive窗口函数详解
1.概述 (1)窗口函数是一组特殊函数 ①扫描多个输入行来计算每个输出值,为每行数据生成一行结果 ②可以通过窗口函数来实现复杂的计算和聚合 (2)语法 Function (arg1,..., arg n) OVER ([PARTITION BY <...>] [ORDER BY <....>] [<window_clause>]) ①PARTITION BY类似于GROUP BY,未指定则按整个结果集 ②只有指定ORDER BY子句之后才能进行窗口定义 ③可同时使用多个原创 2020-10-12 10:23:58 · 2926 阅读 · 0 评论 -
Hive高级查询
基本查询 1.全表和特定字段查询 (1)全表查询 hive (default)> select * from emp; (2)特定字段查询 hive (default)> select empno, ename from emp; (3)注意: ①SQL 语言大小写不敏感 ②SQL 可以写在一行或者多行 ③关键字不能被缩写也不能分行 ④各子句一般要分行写(不分行写不会报错,但影响阅读) ⑤使用缩进提高语句的可读性 2.列别名 和 MySQL 一样,我们同样可以通过列别名重命名一个列,以便于计原创 2020-10-09 11:25:18 · 537 阅读 · 0 评论 -
Hive基础语句
1.数据库操作 (1)创建数据库 为避免要创建的数据库已经存在错误,增加if not exists判断。(标准写法) create database if not exists myhivebook; (2)使用数据库 use myhivebook; (3)修改数据库 用户可以使用ALTER DATABASE命令为某个数据库的DBPROPERTIES设置键-值对属性值,来描述这个数据库的属性信息。数据库的其他元数据信息都是不可更改的,包括数据库名和数据库所在的目录位置。 alter database m原创 2020-10-08 13:37:31 · 2327 阅读 · 0 评论 -
Hive框架详解
Hive基本概念 1.hive基本概念 (1)起源:由FaceBook开源,用于解决海量结构化日志的数据统计。 (2)概念:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 (3)本质:将HQL转换成MapReduce程序。 ①Hive处理的数据存储在HDFS ②Hive分析数据底层的实现是MapReduce ③执行程序运行在YARN上 2.hive优缺点: (1)优点: ①操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手) ②避免了去写原创 2020-10-05 22:34:43 · 1386 阅读 · 0 评论 -
关于hive动态分区太多的问题解决方案
今天在hive插入分区表的时候出现以下报错 hive> insert into table ods_PoliceKill_partition partition (city) select id,name,date,manner_of_death,armed,age,gender,race,state,signs_of_mental_illness,threat_level,flee,body_camera,city from ods_PoliceKill; 报错如下: java.lang.原创 2020-09-22 19:52:00 · 2961 阅读 · 2 评论 -
CentOs7下Hive的安装配置(单机版)
1.首先需要准备有jdk和hadoop环境配置完成的CentOs虚拟机 2.解压文件(hive-1.1.0-cdh5.14.2.tar.gz压缩包) # tar -zxf hive-1.1.0-cdh5.14.2.tar.gz 3.建立hive软链接到指定文件夹下 #mv hive-1.1.0-cdh5.14.2 /opt/soft/hive110 4.环境配置和搭建 (1)进入/opt/soft/hive110/conf目录下 ...原创 2020-09-11 11:44:39 · 523 阅读 · 1 评论 -
liunx操作系统下Hive的安装配置
1.前置安装hadoop,mysql数据库以及zookeeper(选择安装hadoop2.7.3及zookeepe3.4.6) hadoop以及数据库的安装见前文 zookeeper安装 (1)解压文件:#tar -zxf zookeeper-3.4.5-cdh5.14.2.tar.gz (2)将解压后的文件移动到zk345文件夹下:#mv zookeeper-3.4.5-cdh5.14.2 soft/zk345 (3)进入conf文件#cd soft/zk345/conf/ (4)将 zoo_原创 2020-06-10 18:42:22 · 119 阅读 · 0 评论 -
liunx环境下Hive的简介
Hive原理: Hive是基于Hadoop的一个数据仓库,可以将结构化的数据文件映射为一张数据库表,并提供完整sql查询功能, 可以将sql语句转换为MapReduce任务进行运行。其优点是学习陈本低,可以通过类sql语句快速实现简单的 MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 Hive是建立在Hadoop上的数据仓库基础架构。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL) ,这是一种可以存储、查询和分析存储在Hadoop中的大规模数原创 2020-06-09 19:52:42 · 119 阅读 · 0 评论