hive
文章平均质量分 80
caodaoxi
这个作者很懒,什么都没留下…
展开
-
map和reduce 个数的设定 (Hive优化)经典
一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过setdfs.block.size;命令查看到,该参数不能自定义修改);2. 举例: a) 假设input目录下有1个文件a转载 2012-12-25 19:51:38 · 622 阅读 · 0 评论 -
Hive的UDF的自定义
当hive为我们提供的UDF无法满足要求的时候,我们可以开发自己的UDF,我们自己的UDF类需要继承org.apache.hadoop.hive.ql.exec.UDF类并且在类中实现evaluate方法,当我们在hive中使用自定义的UDF的时候,hive会调用类中的evaluate方法来实现特定的功能。如下是一个返回字符串的长度的用户自定义UDF:package com.zx.hi...原创 2012-09-20 22:57:25 · 70 阅读 · 0 评论 -
hive的UDF 函数
hive的UDF 函数Hive内部自定义函数UDFHIVE UDF整理(一)关系运算等值比较: =语法:A = B 操作类型: 所有基本类型描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSE举例:hive> select 1 from dual where 1=1;1不等值比较: 语法: A B 操作类型: 所有...原创 2012-09-20 22:53:18 · 582 阅读 · 0 评论 -
hive中partition如何使用
网上有篇关于hive的partition的使用讲解的比较好,转载了:一、背景1、在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。2、分区表指的是在创建表时指定的partition的分区空间。3、如果需要创建有分区的表,需要在create表的时候调用可选参数partitio转载 2013-06-03 11:46:26 · 601 阅读 · 0 评论 -
hive的内部表与外部表创建
1.创建表的语句:Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment],转载 2013-06-03 10:50:56 · 569 阅读 · 0 评论 -
hive安装
http://blog.csdn.net/hguisu/article/details/7282050hadoop、hbase的安装见前面的文章下面是hive的安装1、下载http://mirror.bit.edu.cn/apache/hive/stable/Hadoop Hive与Hbase整合 一 、简介Hive是基于Hadoop的一个数据仓库工具,可以将结构化转载 2013-06-03 10:18:25 · 677 阅读 · 0 评论 -
Hive限制
1.更新,事务,索引,不支持,是全表扫描2.创建表的字段类型和java类型是对应的。不支持日期类型,提供转换为字符串类型的函数。3.查询语句中,不支持having,可写嵌套的select来解决;group by后只能是表的定义列名,不能像mysql那样可以为查询语句为逻辑处理结果声明的别名,但可为逻辑处理过程语句4.内置函数查看命令(show functions;desc func转载 2013-01-10 09:59:29 · 348 阅读 · 0 评论 -
通过学生-课程关系表,熟悉hive语句
1、在hive中创建以下三个表。create table student(Sno int,Sname string,Sex string,Sage int,Sdept string)row format delimited fields terminated by ','stored as textfile;create table course(Cno int,Cname stri转载 2012-12-31 16:24:33 · 519 阅读 · 0 评论 -
hive中的sort by
在hive中不光有order by操作,还有个sort by操作。两者执行的都是排序的操作,但有存在很大的不同。还是用上次order by的例子来说明。测试用例hive> select * from test09;OK100 tom200 mary300 kate400 timTime taken: 0.061 secondshive> select转载 2012-12-29 15:49:27 · 389 阅读 · 0 评论 -
hive中的distribute By
hive中的distribute by是控制在map端如何拆分数据给reduce端的。hive会根据distribute by后面列,根据reduce的个数进行数据分发,默认是采用hash算法。对于distribute by进行测试,一定要分配多reduce进行处理,否则无法看到distribute by的效果。hive> select * from test09;OK100转载 2012-12-29 15:47:53 · 1438 阅读 · 0 评论 -
hive join
hive(0.9.0):1.支持equality joins, outer joins, and left semi joins2.只支持等值条件3.支持多表join原理hive执行引擎会将HQL“翻译”成为map-reduce任务,如果多张表使用同一列做join则将被翻译成一个reduce,否则将被翻译成多个map-reduce任务。eg:SELECT a转载 2012-12-29 16:11:36 · 481 阅读 · 0 评论 -
写好Hive 程序的五个提示
使用Hive可以高效而又快速地编写复杂的MapReduce查询逻辑。但是某些情况下,因为不熟悉数据特性,或没有遵循Hive的优化约定,Hive计算任务会变得非常低效,甚至无法得到结果。一个”好”的Hive程序仍然需要对Hive运行机制有深入的了解。有一些大家比较熟悉的优化约定包括:Join中需要将大表写在靠右的位置;尽量使用UDF而不是transfrom……诸如此类。下面讨论5个性能和逻辑转载 2012-12-29 16:07:31 · 248 阅读 · 0 评论 -
hive中的Order By
hive中的order by也是对一个结果集合进行排序,但是和关系型数据库又所有不同。这不同的地方也是两者在底层架构区别的体现。hive的参数hive.mapred.mode是控制hive执行mapred的方式的,有两个选项:strict和nonstrict,默认值是nonstrict。这个两个值对order by的执行有着很大的影响。测试用例hive> select转载 2012-12-29 15:50:32 · 376 阅读 · 0 评论 -
Hive优化总结
优化时,把hive sql当做mapreduce程序来读,会有意想不到的惊喜。理解hadoop的核心能力,是hive优化的根本。这是这一年来,项目组所有成员宝贵的经验总结。长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完转载 2012-12-29 17:03:46 · 307 阅读 · 0 评论 -
HIVE中的自定义函数
hive默认的函数并不是太完整,以后我们使用的使用肯定需要自己补充一些。下面这个例子是个简单的测试,关于自定义函数的。函数代码package com.example.hive.udf;import org.apache.hadoop.hive.ql.exec.UDF;import org.apache.hadoop.io.Text;public final cl转载 2012-12-29 15:54:28 · 345 阅读 · 0 评论 -
hive中UDF和UDAF使用说明
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。一、背景:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:a)文件格式:Text File,Sequence Fileb)内存中的数据格式: J...原创 2012-09-20 23:09:22 · 68 阅读 · 0 评论