![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hive
文章平均质量分 85
xiaoxiangyu163
这个作者很懒,什么都没留下…
展开
-
hive常用函数
字符串函数字符串长度函数:length Java代码 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length(‘abcedfg’) from dual; 7 字符串反转函数:reverse转载 2016-09-20 13:26:36 · 308 阅读 · 0 评论 -
hive查询导出到hdfs,hive,file
INSERT OVERWRITE LOCAL DIRECTORY '/script/dirk.zhang/test' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' select... ...; insert overwrite [local] directory '/data/movielens/100k/output/item_relea转载 2016-10-10 19:14:47 · 517 阅读 · 0 评论 -
hive经验
1.hive的join,不能将 t2 join t3 on t2.id=t3.id外边加括号 hive的多个join,也不能加括号,antlr写的也太次了2.hive的union,不能给 t2 union all t3中的t2.t3加上括号3.hive的column别名,不能取已经存在的column 4.if(x=1 and y=2,1,null) if函数条件只能是and转载 2016-10-10 19:15:40 · 348 阅读 · 0 评论 -
hive中的bucket table
当数据量比较大,我们需要更快的完成任务,多个map和reduce进程是唯一的选择。但是如果输入文件是一个的话,map任务只能启动一个。此时bucket table是个很好的选择,通过指定CLUSTERED的字段,将文件通过hash打散成多个小文件。create table sunwg_test11(id int,name string)CLUSTERED BY(id) SORTED转载 2016-10-11 15:09:55 · 383 阅读 · 0 评论 -
hive bucket
hive中table可以拆分成partition,table和partition可以通过‘CLUSTERED BY ’进一步分bucket,bucket中的数据可以通过‘SORT BY’排序。bucket主要作用:1. 数据sampling2. 提升某些查询操作效率,例如mapside join需要特别注意的是:clustered by和sorted by不会影响数据的导入,这意味转载 2016-10-11 15:18:04 · 233 阅读 · 0 评论 -
hive 优化 tips
一、 Hive join优化1. 尽量将小表放在join的左边,我们使用的Hive-0.90,所以是自动转化的,既把小表自动装入内存,执行map side join(性能好), 这是由参数hive.auto.convert.join=true 和hive.smalltable.filesize=25000000L)参数控制(默认是25M),如果表文件大小在25M左右,可以适当调转载 2016-10-11 15:41:40 · 261 阅读 · 0 评论 -
Hive中的join
join等连接只有等连接才允许。select a.* from a join b on a.id = b.idselect a.* from a join b on (a.id = b.id and a.department = b.department)不等连接是不允许的。select a.* from a join b on a.id转载 2016-10-11 19:12:28 · 380 阅读 · 0 评论 -
hive调优
一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);2. 举例: a) 假设inpu转载 2016-10-11 19:13:22 · 209 阅读 · 0 评论 -
case when then else end
sql case when then else end查询生成统计列表:[sql] view plain copy print?SELECT a.managecom, a.subtype, count(*) loadsucc, sum(case when a.state in ('4', '5', '转载 2016-09-26 17:29:42 · 289 阅读 · 0 评论 -
SQL中的case when then else end用法
Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女'ELSE '其他转载 2016-09-26 17:30:57 · 233 阅读 · 0 评论 -
SQL中 decode()函数简介
今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈! decode()函数简介:主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明);使用方法:Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值转载 2016-09-26 17:32:01 · 235 阅读 · 0 评论 -
HIVE从入门到精通
1背景应用于工业的商务智能收集分析所需的数据集正在大量增长,使得传统的数据仓库解决方案变得过于昂贵。Hadoop是一个流行的开源map-reduce实现,用于像yahoo, Facebook一类的公司。来存储和处理商用硬件上的大范围数据集。然而map-reduce程序模型还是处于很低级别,即需要开发者来书写客户程序,这些程序往往难于维护与重用。用hbase做数据库,但由于hbase没有类s转载 2016-09-29 17:32:51 · 3008 阅读 · 0 评论 -
hive关系运算详解
关系运算:1. 等值比较: = 语法:A=B 操作类型:所有基本类型 描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSE 举例: hive>select 1 from lxw_dual where 1=1;2. 不等值比较: 语法: A 操作类型:转载 2016-09-29 17:39:18 · 263 阅读 · 0 评论 -
Hive学习系列-配置mysql元数据
1、首先在ubuntu14.04上安装MySQL,首先尝试的下载mysql的tar包安装,未成功,然后使用在线安装sudo apt-get install mysql-server mysql-client,安装成功。2、登录数据库 a) 创建hive用户,create user hive identified by ‘hive’ b) 授予所有权限grant all pr转载 2016-09-29 17:44:54 · 287 阅读 · 0 评论 -
Hadoop2.6.3+Hive-1.2.1+mysql5.6.15 问题汇总
问题描述一:Caused by: Java.sql.SQLException: Unable to open a test connection to the given database. JDBC url = jdbc:MySQL://192.168.64.11:3306/hive?characterEncoding=UTF-8, username = hive. Terminating转载 2016-09-29 17:47:35 · 415 阅读 · 0 评论 -
HIVE创建目录和表
创建表目录create database companyscreate database companys location tablecreate database companys location table with dbproperties('name'='kedde','data'='2012-01-02')查看database信息,无法查看当前表目录describ转载 2016-09-29 18:21:11 · 1936 阅读 · 0 评论 -
HIVE查询
查询的一些例子:1.queryhive> SELECT name, subordinates[0] FROM employees;John Doe Mary SmithMary Smith Bill KingTodd Jones NULL2.expressionhive> SELECT upper(name), salary, deductions["Federal T转载 2016-09-29 18:29:49 · 258 阅读 · 0 评论 -
使用insert子句将查询结果插入到hive表
使用insert子句将查询结果插入到hive表语法标准语法:INSERT OVERWRITETABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)]select_statement1 FROM from_statement;INSERT INTO TABLEtablename1 [PARTITION (partc转载 2016-09-29 18:31:13 · 4821 阅读 · 0 评论 -
hive not in
当前HIVE 不支持 not in 中包含查询子句的语法,形如如下的HQ语句是不被支持的: 查询在key字段在a表中,但不在b表中的数据 Sql代码 select a.key from a where key not in(select key from b) 可以通过left outer join进行查询,(假设B表中包含另外的一个字段 k转载 2016-10-10 19:12:02 · 254 阅读 · 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.val转载 2016-10-10 19:10:54 · 232 阅读 · 0 评论 -
Hive中分组取前N个值
背景假设有一个学生各门课的成绩的表单,应用hive取出每科成绩前100名的学生成绩。这个就是典型在分组取Top N的需求。 解决思路对于取出每科成绩前100名的学生成绩,针对学生成绩表,根据学科,成绩做order by排序,然后对排序后的成绩,执行自定义函数row_number(),必须带一个或者多个列参数,如ROW_NUMBER(col1, ....),它转载 2016-09-21 11:27:54 · 339 阅读 · 0 评论 -
Hive总结(六)hive入门经典
转自:http://www.zypx.cn/technology/20100606132430320046.htmlHive 是什么在接触一个新的事物首先要回到的问题是:这是什么?这里引用 Hive wiki 上的介绍:Hive is a data warehouse infrastructure built on top ofHadoop. It provides too转载 2016-09-20 15:22:44 · 274 阅读 · 0 评论 -
Hive总结(七)Hive四种数据导入方式
Hive的几种常见的数据导入方式这里介绍四种:(1)、从本地文件系统中导入数据到Hive表;(2)、从HDFS上导入数据到Hive表;(3)、从别的表中查询出相应的数据并导入到Hive表中;(4)、在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。一、从本地文件系统中导入数据到Hive表先在Hive里面创建好表,如下: hive> create table wyp > (id in转载 2016-09-20 15:28:21 · 494 阅读 · 0 评论 -
Hive总结(八)Hive数据导出三种方式
来自:http://blog.csdn.net/lifuxiangcaohui/article/details/40589881今天我们再谈谈Hive中的三种不同的数据导出方式。根据导出的地方不一样,将这些方式分为三种:(1)、导出到本地文件系统;(2)、导出到HDFS中;(3)、导出到Hive的另一个表中。为了避免单纯的文字,我将一步一步地用命令进行说明。转载 2016-09-20 15:33:47 · 334 阅读 · 0 评论 -
Hive总结(九)Hive体系结构
1、Hive架构与基本组成 下面是Hive的架构图。图1.1 Hive体系结构 Hive的体系结构可以分为以下几部分: (1)用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是CLI,Cli启动的时候,会同时启动一个Hive副本。Client是Hive的客户端,用户连接至Hive Server。在启动 Client模式转载 2016-09-20 16:05:30 · 621 阅读 · 0 评论 -
hive常用函数
resource:http://blackproof.iteye.com/blog/2164129用pig的时候,超不爱用pig带的函数,一般都自己写但是用hive,就越来越懒,变成了能不写就不写自己的udf,哈哈 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF 1.内置转载 2016-09-23 16:34:03 · 317 阅读 · 0 评论 -
Hive常用字符串函数
Hive内部提供了很多操作字符串的相关函数,本文将对其中部分常用的函数进行介绍。下表为Hive内置的字符串函数,具体的用法可以参见本文的下半部分。返回类型函数名描述intascii(string str)返回str第一个字符串的数值stringbase64(binary bin)将二进制参数转换为base64字符串转载 2016-09-23 17:04:15 · 1866 阅读 · 0 评论 -
Hive常用语句
文章目录1 显示分区2 添加分区3 删除分区4 修改分区5 添加列6 修改列7 修改表属性8 表的重命名显示分区show partitions iteblog;添加分区ALTERTABLE table_name ADD [IF NOTEXISTS] PARTITION par转载 2016-09-23 17:08:07 · 242 阅读 · 0 评论 -
Hive:解决Hive创建文件数过多的问题
将临时表里面的数据按照天分区插入到线上的表中去,出现了Hive创建的文件数大于100000个的情况,我的SQL如下:hive>insert overwrite table test partition(dt) >select * fromiteblog_tmp;iteblog_tmp表里面一共有570多G的数据,转载 2016-09-23 17:36:14 · 4548 阅读 · 0 评论 -
关于Hive中order by,Sort by,Distribute by和Cluster By介绍
我们在使用Hive的时候经常会使用到order by、Sort by、Distribute by和Cluster By,本文对其含义进行介绍。文章目录 [hide]1 order by2 sort by3 distribute by4 cluster By5 英文解释order by Hive中的order by和数据库中的order by 功能一致,按照某一项或者几转载 2016-09-23 17:38:48 · 426 阅读 · 0 评论 -
Hive总结(十)Hive 输入输出适配类(输出CSV,XML)
在最初使用 hive ,应该说上手还是挺快的。 Hive 提供的类 SQL 语句与 mysql 语句极为相似,语法上有大量相同的地方,这给我们上手带来了很大的方便,但是要得心应手地写好这些语句,还需要对 hive 有较好的了解,才能结合 hive 特色写出精妙的语句。关于 hive 语言的详细语法可参考官方 wiki 的语言手册:http://wiki.apache.org/Hadoop/转载 2016-09-20 17:50:10 · 350 阅读 · 0 评论 -
Hive总结(十一)Hive自定义函数UDF
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。一、背景:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:a)文件格式:Text File,Sequence Fileb)内存中的数据格式: Java Inte转载 2016-09-21 11:18:22 · 291 阅读 · 0 评论 -
Hive总结(十二)Hive查询进阶
通过Hive提供的order by子句可以让最终的输出结果整体有序。但是因为Hive是基于Hadoop之上的,要生成这种整体有序的结果,就必须强迫Hadoop只利用一个Reduce来完成处理。这种方式的副作用就是回降低效率。如果你不需要最终结果整体有序,你就可以使用sort by子句来进行排序。这种排序操作只保证每个Reduce的输出是有序的。如果你希望某些特定行被同一个Reduce处理,转载 2016-09-21 11:20:36 · 267 阅读 · 0 评论 -
Hive总结(一)hive初始
1.没有接触,不知道这个事物是什么,所以不会产生任何问题。2.接触了,但是不知道他是什么,反正我每天都在用。3.有一定的了解,不够透彻。那么hive,1.我们对它了解多少?2.它到底是什么?3.hive和hadoop是什么关系?扩展:hbase和hive是什么关系?Hive最初是应Facebook每天产生的海量新兴社会网络数据进行管理和机器学习的需求转载 2016-09-21 11:23:19 · 256 阅读 · 0 评论 -
Hive总结(二)hive基本操作
阅读本文章可以带着下面问题:1.与传统数据库对比,找出他们的区别2.熟练写出增删改查(面试必备)创建表:hive> CREATE TABLE pokes (foo INT, bar STRING); Creates a table called pokes with two columns, the first being an integer and th转载 2016-09-21 11:24:06 · 256 阅读 · 0 评论 -
Hive总结(三)hive组件和执行过程
对Hive的基本组成进行了总结:1、组件:元存储(Metastore )-存储“系统目录以及关于表、列、分区等的元数据”的组件。驱动(Driver )- 控制 HiveQL 生命周期的组件,当 HiveQL 查询穿过 Hive时。该驱动管理着会话句柄以及任何会话的统计。查询编译器(Query Compiler) - 是一个组件,将HiveQL编译成有向无环图(direc转载 2016-09-21 11:25:16 · 362 阅读 · 0 评论 -
Hive总结(四)hive安装记录
本篇为安装篇较简单:前提:1: 安装了hadoop-1.0.4(1.0.3也可以)正常运行2:安装了hbase-0.94.3, 正常运行接下来,安装Hive,基于已经安装好的hadoop,步骤如下:1:下载从http://hive.apache.org/下载hive-0.9.0/创建目录/hive将文件hive-0.9.0保存在/hive下转载 2016-09-21 11:26:19 · 243 阅读 · 0 评论 -
Hive总结(五)hive日志
日志记录了程序运行的过程,是一种查找问题的利器。Hive中的日志分为两种1. 系统日志,记录了hive的运行情况,错误状况。2. Job 日志,记录了Hive 中job的执行的历史过程。系统日志存储在什么地方呢 ?在hive/conf/ hive-log4j.properties 文件中记录了Hive日志的存储情况,默认的存储情况:hive.root.log转载 2016-09-21 11:26:56 · 282 阅读 · 0 评论 -
hive学习笔记-函数篇
Hive 查看函数:show functions;desc functions 函数名parse_urlparse_url(url, partToExtract[, key]) - extracts a part from a URL解析URL字符串,partToExtract的选项包含[HOST,PATH,QUERY,REF,PROTOCOL,FILE,AU转载 2016-10-31 16:52:41 · 361 阅读 · 0 评论