
hive
文章平均质量分 60
幸运六叶草
个人公众号:“Python技术博文”;关注人工智能,热衷学习IT新技术。
展开
-
Hive入门及常用指令
本文链接:https://blog.youkuaiyun.com/ddydavie/article/details/80667727Hive最近在公司实习,对hive进行了学习,做了些整理的笔记。基础命令show databases; # 查看某个数据库use 数据库; # 进入某个数据库show tables; # 展示所有表desc 表名; # 显示表结构show partitions 表名; # 显示表名的分区show create table_n转载 2021-01-26 16:33:42 · 443 阅读 · 0 评论 -
hive分区
参考 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable%2FPartitionStatements这里主要列一些常用操作。 添加分区ALTER TABLE table_name ADD PARTITION (partCol转载 2016-07-21 12:50:38 · 478 阅读 · 0 评论 -
数据库中sum和count的区别
今天在hive上面写了一个HQL,当时业务需求是查询出计算出订单的总数,当时我没有多想就直接写了:select count(ord) from ord_day where ..然而数据对不上,我才意识到count 是数个数, sum 是求和啊。他们不一样。所以我换成sum结果就出来了;下面结合自己的理解总结一下:sum()函数和count()函数的区别:原创 2016-07-21 17:31:47 · 20233 阅读 · 1 评论 -
hive的使用经验
优化时,把hive sql 当做map reduce程序来读,会有意想不到的惊喜。理解hadoop的核心能力,是hive优化的根本。长期观察hadoop处理数据的过程,有几个显著的特征:1:不怕数据多,就怕数据倾斜2:对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完的。map reduce初始化的时转载 2016-08-04 20:33:58 · 1718 阅读 · 0 评论 -
Hive ROW_NUMBER,RANK(),DENSE_RANK()
Hive ROW_NUMBER,RANK(),DENSE_RANK()准备数据浙江,杭州,300浙江,宁波,150浙江,温州,200浙江,嘉兴,100江苏,南京,270江苏,苏州,299江苏,某市,200江苏,某某市,100 创建表CREATE table pcp(province string,city string,peopl转载 2016-08-08 20:03:59 · 1539 阅读 · 0 评论 -
hive rownumber内置函数使用例子
hive rownumber内置函数使用例子Hive-0.11.0中内置row_number函数org.apache.hadoop.hive.ql.exe.FunctionRegistry registerHiveUDAFsAsWindowFunctions();registerWindowFunction("row_number", new GenericUDAFRo转载 2016-08-09 16:25:34 · 1178 阅读 · 0 评论 -
Fatal error occurred when node tried to create too many dynamic partitions
Diagnostic Messages for this Task:Error: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row {"id":2446708,"order_id":162153513,"reas原创 2016-08-24 10:51:15 · 3376 阅读 · 0 评论 -
hive字符串函数
hive字符串函数1. 字符串长度函数:length语法: length(string A)返回值: int说明:返回字符串A的长度举例:hive> select length('abcedfg') from lxw_dual;72. 字符串反转函数:reverse语法:转载 2016-10-25 12:12:40 · 2262 阅读 · 0 评论 -
hive实现任务并行执行
hive.exec.parallel参数控制在同一个sql中的不同的job是否可以同时运行,默认为false.下面是对于该参数的测试过程:测试sql:select r1.afrom (select t.a from sunwg_10 t join sunwg_10000000 s on t.a=s.b) r1 join (select s.b from sunwg_100000转载 2016-09-29 10:19:08 · 4120 阅读 · 0 评论 -
Hive分析窗口函数(五) GROUPING SETS,GROUPING__ID,CUBE,ROLLUP
GROUPING SETS,GROUPING__ID,CUBE,ROLLUP这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。Hive版本为 apache-hive-0.13.1数据准备:2015-03,2015-03-10,cookie12015-03,2015-03-10,cookie52015-03转载 2016-10-28 15:06:43 · 2255 阅读 · 0 评论 -
java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得
我遇到这样的问题,本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性能也不好,gc时间消耗的较多。解决这种问题两种方法是,增加参数,-XX:-UseGCOverheadLimit,关闭这个特性,同时增加heap大小,-Xmx1024m。坑填了,but why?转载 2017-01-03 17:30:29 · 2479 阅读 · 0 评论 -
hive的工作原理
hive就是一个将sql语句转化为MR工具hive的工作原理:1、使用antlr定义sql语法,(详细见hive.g),由antlr工具将hive.g编译为两个java文件:HiveLexer.java HiveParser.java,可以将输入的sql解析为ast树2、org.apache.hadoop.hive.ql.Driver对ast树进行初步的解析(combile转载 2017-02-27 10:48:41 · 2037 阅读 · 0 评论 -
Hive - hive.groupby.skewindata环境变量与负载均衡
HiveQL 去重操作和SQL一样,HiveQL中同样支持DISTINCT操作,如下示例:(1) SELECT count(DISTINCT uid) FROM log(2) SELECT ip, count(DISTINCT uid) FROM log GROUP BY ip(3) SELECT ip, count(DISTINCT uid, uname) FROMlog转载 2017-03-06 17:14:56 · 1048 阅读 · 0 评论 -
hive join 数据倾斜 真实案例
Hive或者MR处理数据,不怕数据量大,就怕倾斜。hive里大表join的时候,数据倾斜就是个很头疼的问题。本博主就遇到了一个真实案例,特意记录下来,有需要的同学可以参考1.查了5个小时还没结束的sql语句set mapred.reduce.tasks = 30;insert overwrite directory 'xxx'selectcus.idA,cus.name,addr转载 2017-03-19 22:36:44 · 1465 阅读 · 0 评论 -
hive 配置参数说明
hive.exec.mode.local.auto 决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行) true hive.exec.mode.local.auto.inputbytes.max 如果 hive.exec.mode.local.auto 为 true,当输入文件大小小于此阈值时可以自动在本地模式运行,默转载 2017-03-06 19:13:33 · 752 阅读 · 0 评论 -
hive 高级数据类型使用
hive 高级数据类型使用用了许久的hive,但是一直都是简单的sql join,sort, order by等,今天有一个业务场景需要使用array数据类型存储数据并进行横表转纵表的转换。mark下以后用了可以查询。 数据样子是这样的。IDtype_flagtags10001311_20_30,11_22_3转载 2016-08-16 10:10:59 · 813 阅读 · 0 评论 -
Hadoop Hive sql语法详解
文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需要的内容,这套SQL 简称Hive SQL,使不熟悉mapreduce 的用户很方便的利用SQL 语言查询,汇总,分析数据。而mapreduce开发人员可以把己写的mapper 和reducer 作为插件来支持Hiv转载 2016-08-16 10:10:05 · 1240 阅读 · 1 评论 -
Hive 和普通关系数据库的异同
1. 查询语言。由于 SQL 被广泛的应用在数据仓库中,因此,专门针对 Hive 的特性设计了类 SQL 的查询语言 HQL。熟悉 SQL 开发的开发者可以很方便的使用 Hive 进行开发。2. 数据存储位置。Hive 是建立在 Hadoop 之上的,所有 Hive 的数据都是存储在 HDFS 中的。而数据库则可以将数据保存在块设备或者本地文件系统中。3. 数据格式。Hive 中没原创 2016-05-01 14:34:23 · 1126 阅读 · 0 评论 -
hive--删除表中的数据truncate
delect:用于删除特定行条件,你可以从给定表中删除所有的行TRUNCATE:truncate用于删除所有的行,这个行为在hive元存储删除数据是不可逆的DROP:删除hive中的表truncate 不能删除外部表!因为外部表里的数据并不是存放在Hive Meta store中truncate:truncate table table_name;原创 2016-05-15 21:19:20 · 67402 阅读 · 0 评论 -
hive视图
Hive 0.6版本及以上支持视图Hive View具有以下特点:1. View是逻辑存在,Hive暂不支持物化视图(1.0.3)2. View只读,不支持LOAD/INSERT/ALTER。需要改变View定义,可以是用Alter View3. View内可能包含ORDER BY/LIMIT语句,假如一个针对view的查询也包含这些语句, 则view中的语句优先级高。例如,定义v转载 2016-05-16 08:18:49 · 1823 阅读 · 0 评论 -
hive索引
索引是标准的数据库技术,hive 0.7版本之后支持索引。Hive提供有限的索引功能,这不像传统的关系型数据库那样有“键(key)”的概念,用户可以在某些列上创建索引来加速某些操作,给一个表创建的索引数据被保存在另外的表中。Hive的索引功能现在还相对较晚,提供的选项还较少。但是,索引被设计为可使用内置的可插拔的java代码来定制,用户可以扩展这个功能来满足自己的需求。 当然不是说有的查询都会原创 2016-05-16 15:13:30 · 1064 阅读 · 0 评论 -
hive 中 union all ---Top level UNION is not supported currently 错误
hive 中 union allhive 中的union all是不能在sql语句的第一层使用的,否则会报 Top level UNION is not supported currently 错误;例如如下的方式:select id,name from user where type = 1union allselect id,name from user whe转载 2016-05-16 20:18:29 · 2434 阅读 · 0 评论 -
大数据面试题分享
1.Hadoop集群可以运行的3个模式?单机(本地)模式伪分布式模式全分布式模式2. 单机(本地)模式中的注意点?在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个JVM上。这里同样没有DFS,使用的是本地文件系统。单机模式适用于开发过程中运行MapReduce程序,这也是最少使用的一个模式。3. 伪分布模式中的注意点?伪分布式(Pseu原创 2016-05-30 14:40:21 · 990 阅读 · 0 评论 -
hive中的lateral view 用法详解上篇
描述lateral view用于和split, explode等UDTF一起使用,它能够将一行数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。lateral view首先为原始表的每行调用UDTF,UDTF会把一行拆分成一或者多行,lateral view再把结果组合,产生一个支持别名表的虚拟表。通过Lateral view可以方便的将UDTF得到的行转列的结果集合在一起提原创 2016-05-17 11:16:18 · 4169 阅读 · 0 评论 -
hive中的lateral view 用法详解下篇
例子假设我们有一张表pageAds,它有两列数据,第一列是pageid string,第二列是adid_list,即用逗号分隔的广告ID集合:string pageidArray adid_list"front_page"[1, 2, 3]"contact_page"[3, 4, 5]原创 2016-05-17 20:01:54 · 2681 阅读 · 0 评论 -
Groovy入门教程
Groovy入门教程kmyhy@126.com 2009-5-13一、groovy是什么简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中。作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似。同时,Groovy 抛弃了java烦琐的文法。同样的语句,使用groovy能在最大限度上减少你的击键次数——这确实是“懒惰程序员转载 2016-05-17 22:23:14 · 492 阅读 · 0 评论 -
在ubuntu中安装groovy
在 Mac OSX, Linux, Cygwin, Solaris or FreeBSD 上安装Groovy 并不难.打开一个终端:$ curl -s get.sdkman.io | bash然后输入:$ source "$HOME/.sdkman/bin/sdkman-init.sh"然后安装最新稳定版 Groovy:$ sdk install groovy安装之原创 2016-05-17 22:36:25 · 1149 阅读 · 0 评论 -
将两个表的结果合并为一个表并过滤掉相同字段的信息
--如果两表有关键字select a1,a2,b1,b2 from a , b where a.关键字 = b.关键字--如果两表没有关键字,这样?select a1 , a2 from aunion allselect b1 , b2 from b上为查询,如果需要生成一个新表--如果两表有关键字select a1,a2,b1,b2 into tm原创 2016-07-22 12:37:59 · 11406 阅读 · 0 评论 -
hive中order by,sort by, distribute by, cluster by作用以及用法
1. order by Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的数据都会到同一个reducer进行处理(不管有多少map,也不管文件有多少的block只会启动一个reducer)。但是对于大量数据这将会消耗很长的时间去执行。 这里跟传统的sql转载 2016-07-25 14:26:04 · 733 阅读 · 0 评论 -
hive中alter table的用法详解
ALTER TABLE 语句2011-07-22 11:02ALTER TABLE 语句用于在已有的表中添加、修改或删除列。1 . ALTER TABLE table_name ADD column_name datatype2. ALTER TABLE table_name DROP COLUMN column_name3. ALTER TAB原创 2016-07-26 15:07:59 · 46634 阅读 · 1 评论 -
hive调优 ------- 竖表变横表
有这这样一张表t_buy_buyer_time_hongbao_asc 用户id 次序 购买时间25560 1 1325345254 25560 2 1331043510 25560 3 1331999999 25720 1 132038转载 2016-08-16 10:08:45 · 4536 阅读 · 0 评论 -
Hive 和 Hadoop 关系
Hive 构建在 Hadoop 之上, · HQL 中对查询语句的解释、优化、生成查询计划是由 Hive 完成的 · 所有的数据都是存储在 Hadoop 中 · 查询计划被转化为 MapReduce 任务,在 Hadoop 中执行(有些查询没有 MR 任务,如:select * from table)· Hadoop和Hive都是用UTF-8编码的原创 2016-05-01 14:30:26 · 2019 阅读 · 0 评论