
hive
a280966503
这个作者很懒,什么都没留下…
展开
-
关于Hive优化的四种方法总结
问题导读:1、Hive整体架构优化点有哪些?2、如何在MR阶段进行优化?3、Hive在SQL中如何优化?4、Hive框架平台中如何优化?一、整体架构优化现在hive的整体框架如下,计算引擎不仅仅支持Map/Reduce,并且还支持Tez、Spark等。根据不同的计算引擎又可以使用不同的资源调度和存储系统。 整体架构优化点:1、根据不同业务需求转载 2018-01-01 21:37:53 · 331 阅读 · 0 评论 -
Hive中的分桶
对于每一个表(table)或者分区, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分。Hive也是针对某一列进行桶的组织。Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中。把表(或者分区)组织成桶(Bucket)有两个理由:(1)获得更高的查询处理效率。桶为表加上了额外的结构,Hive 在处理有些查询时能利用这个结构。具体而言,连接两个在(包含连接列...转载 2018-02-11 23:43:04 · 2123 阅读 · 0 评论 -
hive数据倾斜的解决方案
分布式文件系统HDFS可以存储海量的数据(以T为单位的数据量),分布式计算框架MapReduce可以对存储在HDFS的数据进行处理后再将结果写回到HDFS。MapReduce + HDFS可以完成对海量数据的批量处理,但是这套组合会导致很多重复性的工作,有些处理起来比较繁琐,例如从文件中选取特定行数的数据,按照某些字段对数据进行排序,统计某些字段出现的字数,将多个数据源的数据join在一起。Hiv...转载 2017-12-31 14:56:31 · 210 阅读 · 0 评论 -
Hive 数据倾斜解决方案(调优)
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的...转载 2017-12-31 14:56:58 · 205 阅读 · 0 评论 -
Hive窗口函数
简介本文主要介绍hive中的窗口函数.hive中的窗口函数和sql中的窗口函数相类似,都是用来做一些数据分析类的工作,一般用于olap分析概念我们都知道在sql中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的.但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这时我们便引入了窗口函数....转载 2018-03-07 11:50:32 · 212 阅读 · 0 评论 -
Hive Beeline
简介连接hive的driver是有3种方式的,我们这里介绍一下常用的beeline.beeline是使用jdbc去连接hive.使用在使用beeline去连接hive之前,我们要打开hive的hiveserver2服务,这样beeline才能通过jdbc去连接hive.--启动hiveserver2的两种方式hiveserver2hive --service hiveserver2123然后我...转载 2018-03-07 11:52:10 · 400 阅读 · 0 评论 -
Hive 表的复制
简介本文介绍hive中表的复制非分区表的复制如果我们想要复制一张非分区表,可以使用create tale as去解决;实例假如我们有一张t_temp的表,为普通的内部表.复制可以采用如下的语句:create table t_copy as select * from t_temp;1这样就复制出一张和t_temp结构一致的表分区表的复制分区表如果采用这种create…as…的方法去复制,数据是可以...转载 2018-03-07 11:53:10 · 657 阅读 · 0 评论 -
Hive 分桶表
简介本文主要介绍了Hive中分桶表的使用及作用分桶和分区分区提供了一个隔离数据和优化查询的便利的方式.但是当分区的数量过多时,会产生过多的小分区,这样会给namenode带来较大的压力.分桶试讲数据集分解成更容易管理的若干部分的另一个技术.使用我们先准备我们将使用的分桶表的数据.1,jack,2016/11/112,michael,2016/11/123,summer,2016/11/134...转载 2018-03-07 13:01:22 · 848 阅读 · 0 评论 -
Hive Index
简介本文简单介绍一下hive索引的创建以及使用类型介绍hive当前的索引的类型主要有两种: - CompactIndexHandler(压缩索引) - Bitmap(位图索引)使用场景相比于传统数据库,Hive只提供有限的索引功能,通过在某些字段上建立索引来加速某些操作。通常当逻辑分区太多太细,partition无法满足时,可以考虑建立索引.。用户可以使用EXPLAIN语法来分析HiveQL语句是...转载 2018-03-07 13:03:16 · 685 阅读 · 0 评论 -
hive高阶1--sql和hive语句执行顺序、explain查看执行计划、group by生成MR
hive语句执行顺序msyql语句执行顺序代码写的顺序:select ... from... where.... group by... having... order by.. 或者from ... select ...1234代码的执行顺序:from... where...group by... having.... select ... order by...12hive 语...转载 2018-02-14 21:23:11 · 2020 阅读 · 0 评论 -
hive分桶笔记
hive分桶,一般在hive数据表中查询出来的数据插入到分桶表中,一般不在load数据时使用分桶表分桶实例:set hive.enforce.bucketing = true;如果不设置这个分桶不生效set mapreduce.job.reduce = 4;drop table stu_buck;create table stu_buck(Sno int,Sname string,Sex stri...原创 2018-02-21 21:31:49 · 761 阅读 · 0 评论 -
Hive 窗口函数、分析函数
1 分析函数:用于等级、百分点、n分片等Ntile 是Hive很强大的一个分析函数。可以看成是:它把有序的数据集合 平均分配 到 指定的数量(num)个桶中, 将桶号分配给每一行。如果不能平均分配,则优先分配较小编号的桶,并且各个桶中能放的行数最多相差1。语法是: ntile (num) over ([partition_clause] order_by_clause) as you...转载 2018-03-01 18:57:54 · 406 阅读 · 0 评论 -
hbase-hive
CREATE TABLE hive_hbase_emp_table(empno int,ename string,job string,mgr int,hiredate string,sal double,comm double,deptno int)STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROP...转载 2018-03-02 15:54:23 · 184 阅读 · 0 评论 -
Hive之Bucket 桶表
Bucket 桶表的基本相关概念对于每一个表(table)或者分区, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分。Hive也是针对某一列进行桶的组织。Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中。基本可以这么说分区表是粗粒度的划分,桶在细粒度的划分。当数据量比较大,我们需要更快的完成任务,多个map和reduce进程是唯一的选择。但是如果输入...转载 2018-02-11 22:26:13 · 1838 阅读 · 0 评论 -
Hadoop Hive基础sql语法
目录 Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需要的内容,这套SQL 简称Hive SQL,使不熟悉mapreduce 的用户很方便的利用SQL 语言...转载 2018-02-11 22:12:18 · 220 阅读 · 0 评论 -
Hive中日期处理
1、日期函数UNIX时间戳转日期函数:from_unixtime()函数格式返回值说明from_unixtimefrom_unixtime(bigint unixtime[, string format])string转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式hive (temp)> select from_unixtime(转载 2018-01-03 14:57:26 · 6051 阅读 · 0 评论 -
hive资料
hive 默认的字段分隔符为\001原创 2018-01-01 19:51:04 · 215 阅读 · 0 评论 -
[Hive]Hive调优:让任务并行执行
业务背景extract_trfc_page_kpi的hive sql如下:set mapred.job.queue.name=pms;set hive.exec.reducers.max=8;set mapred.reduce.tasks=8;set mapred.job.name=extract_trfc_page_kpi;insert overwrite table pm转载 2018-01-02 21:53:01 · 822 阅读 · 0 评论 -
hive-site.xml参数
2 3 <!-- 4 Licensed to the Apache Software Foundation (ASF) under one or more 5 contributor license agreements. See the NOTICE file distributed with 6 this work for additional i转载 2018-01-02 22:03:23 · 2863 阅读 · 0 评论 -
set hive.fetch.task.conversion含义
我们在执行hive代码的时候,一条简单的命令大部分都会转换成为mr代码在后台执行,但是有时候我们仅仅只是想获取一部分数据而已,仅仅是获取数据,还需要转化成为mr去执行吗?那个也太浪费时间和内存啦,所以有一个hive的配置如下图所示: 我们会发现这个属性所对应着两种模式,minimal和more。 在minimal下,我们执行select * ,lim转载 2018-01-02 22:10:13 · 6020 阅读 · 0 评论 -
hive注意事项
1、生产环境中为什么建议使用外部表?1、因为外部表不会加载数据到hive,减少数据传输、数据还能共享。2、hive不会修改数据,所以无需担心数据的损坏1、 删除表时,只删除表结构、不删除数据。原创 2018-01-03 12:55:45 · 362 阅读 · 0 评论 -
Hive统计新增,日活和留存率
用户行为触发的日志上报,已经存放在Hive的外部分区表中.结构如下:主要字段内容dt表示日期,如20160510platform表示平台,只有两个选项,苹果和安卓mid是用户机器码,类似于网卡MAC地址什么的pver是版本channel是分发渠道现在产品经理需要统计每天用户的新增,日活和留存率.其中留存率的概念是,如果用户在5月1日第一次使用转载 2018-01-03 13:40:29 · 1827 阅读 · 0 评论 -
数据分析利器之hive优化十大原则
hive之于数据民工,就如同锄头之于农民伯伯。hive用的好,才能从地里(数据库)里挖出更多的数据来。用过hive的朋友,我想或多或少都有类似的经历:一天下来,没跑几次hive,就到下班时间了。hive在极大数据或者数据不平衡等情况下,表现往往一般,因此也出现了presto、spark-sql等替代品。今天不谈其它,就来说说关于hive,个人的一点心得。 一. 表连转载 2018-01-03 19:31:31 · 156 阅读 · 0 评论 -
hive udf开发超详细手把手教程
关于hive的udf介绍,就不多啰嗦了。网上的教程一抓一大把,也可以上apache的官网去查阅相关资料,我就省了翻译的时间了。重点给大家带来干货,手把手教会你怎样开发一个udf函数,已经如何部署到服务器上的hive环境中运行。用最简单的话来说,就是教大家怎么让自己开发的udf跑起来。。。项目需求做数据挖掘项目中,常见的需求之一就是分析节假日订单跟平时订单的区别。于是,我们需要统计节转载 2018-01-08 22:42:25 · 472 阅读 · 0 评论 -
Hive的几种排序
1、order by 全局排序,相当于一个reduce,2、sort by 按每一个reduce内部排序,不是全局排序3、distribute by 类似于MRPartition,进行分区,一般要结合sort by使用4、cluster by 当distribute和sort字段相同时,就是cluster by原创 2018-01-17 20:35:46 · 647 阅读 · 0 评论 -
hive临时设置
set mapreduce.job.reduces =3 临时生效设置reduce数量原创 2018-01-17 20:36:06 · 731 阅读 · 0 评论 -
hive基础(一)
* Hive创建表的方式1、使用create命令创建一个新表例如:create table if not exists db_web_data.track_log(字段) partitioned by (date string,hour string) row format delimited fields terminated by '\t';2、把一张表的某些字段抽取出来,转载 2018-01-10 14:27:34 · 213 阅读 · 0 评论 -
hive表的存储格式; ORC格式的使用
hive表的源文件存储格式有几类: 1、TEXTFILE 默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理。源文件可以直接通过hadoop fs -cat 查看 2、SEQUENCEFILE 一种Hadoop API提供的二进制文件,使用方便、可分割、可压缩等特点。 SEQUENCEFILE将数据以的形式序列化到文件中。序列化和转载 2018-02-05 21:54:21 · 397 阅读 · 0 评论 -
hive-hbase语句
CREATE TABLE hive_hbase_emp_table(empno int,ename string,job string,mgr int,hiredate string,sal double,comm double,deptno int)STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROP...转载 2018-03-03 02:06:48 · 205 阅读 · 0 评论