Hive
文章平均质量分 64
RangeYan2012
欢迎大家与我交流技术问题!我的QQ:332478640
展开
-
hive中Sort By,Order By,Cluster By,Distribute By,Group By的区别
order by:hive中的order by 和传统sql中的order by 一样,对数据做全局排序,加上排序,会新启动一个job进行排序,会把所有数据放到同一个reduce中进行处理,不管数据多少,不管文件多少,都启用一个reduce进行处理。如果指定了hive.mapred.mode=strict(默认值是nonstrict),这时就必须指定limit来限制输出条数,原因是:所有的数据都会在同一个reducer端进行,数据量大的情况下可能不能出结果,那么在这样的严格模式下,必须指定输出的条数。s原创 2020-08-23 17:17:18 · 855 阅读 · 0 评论 -
hive常用函数
1、数据介绍首先我们产生我们的数据,使用spark sql来产生吧:val data = Seq[(String,String)]( ("{\"userid\":\"1\",\"action\":\"0#222\"}","20180131"), ("{\"userid\":\"1\",\"action\":\"1#223\"}","20180131"), ("{\"userid\":\"1...原创 2019-07-22 20:52:12 · 1057 阅读 · 0 评论 -
hive常用语法
目录一、关系运算:1.等值比较: =2.不等值比较: <>3.小于比较: <4.小于等于比较: <=5.大于比较: >6.大于等于比较: >=7.空值判断: IS NULL8.非空判断: IS NOTNULL9. LIKE比较: LIKE10. JAVA的LIKE操作: RLIKE11. REGEX...原创 2019-07-18 20:33:32 · 644 阅读 · 0 评论 -
hive 中udf,udaf,udtf
UDF步骤:1.继承org.apache.hadoop.hive.ql.exec.UDF2.实现evaluate函数,evaluate函数支持重载[java] view plain copypackage cn.sina.stat.hive.udf; import java.util.Arrays; import org.原创 2017-03-08 11:20:23 · 858 阅读 · 0 评论 -
Hive 基础之:分区、桶、Sort Merge Bucket Join
Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。其实这篇博文主要是想聊聊 SMB join 的,Join 是整个 MR/Hive 最为核心的部分之一,是每个 Hadoop/Hive/DW RD 必须掌握的部分,之前也有几篇文章聊到过 MR/Hive 中的 joi转载 2017-02-04 12:36:39 · 697 阅读 · 0 评论 -
hive中的Lateral View
通过Lateral view可以方便的将UDTF得到的行转列的结果集合在一起提供服务。因为直接在SELECT使用UDTF会存在限制,即仅仅能包含单个字段,如下:Hive> select my_test(“abcef:aa”) as qq,my_test(“abcef:aa”) as ww from sunwg01;FAILED: Error in semantic analysis转载 2017-02-04 12:06:31 · 700 阅读 · 0 评论 -
Hive查询优化
Hive查询优化分成三个部分1. 合理建表2.通用参数优化\3.Join优化原创 2017-02-09 14:21:01 · 814 阅读 · 0 评论 -
Hive 模式设计和语言规范
1. 模式设计1.1 数据模型-数据的组织方式Database: 和关系型数据库的Database一样Table: Hive将数据表分为内部表和外部表。内部表在Hive中创建的普通表都可称作“内部表”。因为Hive可以(或多或少)控制其数据的生命周期,内部表对数据拥有所有权。如我们所见,通常Hive会将内部表的数据储存在由hive.m原创 2017-02-09 12:38:54 · 2402 阅读 · 0 评论 -
Hive Driver 原理
Hive 的Driver 是hive的一个组件,负责将hive sql 解析和优化HQL语句,将其转换成一个Hive Job(可以是MapReduce,也可以是Spark等其他任务)并提交给Hadoop集群。SQL转化为Hive Job的过程SQL转化为MapReduce任务的,整个编译过程分为六个阶段:Antlr定义SQL原创 2017-02-09 11:23:40 · 4459 阅读 · 0 评论 -
Hive架构
Hive架构在Hadoop生态圈中已经是老生常谈。尽管如此,很多资料并没有将Hive模块之间的关系描述的十分清楚,本人也在管理Hive数据仓库时绕了不少弯路。所以我们仍要再谈Hive架构,希望将积累的经验总结出一套完整而又易懂的Hive架构,借此为行业新人开路,为大数据运维排忧。Hive是典型C/S模式。Client端有JDBC/ODBC Client和Thrift Client两类。原创 2017-02-09 11:00:38 · 7058 阅读 · 0 评论 -
hive静态分区和动态分区
hive中创建分区表没有什么复杂的分区类型(范围分区、列表分区、hash分区、混合分区等)。分区列也不是表中的一个实际的字段,而是一个或者多个伪列。意思是说在表的数据文件中实际上并不保存分区列的信息与数据。下面的语句创建了一个简单的分区表:create table partition_test(member_id string,name string)partition转载 2017-02-08 16:49:16 · 1755 阅读 · 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原创 2017-02-07 17:01:03 · 709 阅读 · 0 评论 -
Parquet与ORC:高性能列式存储格式
背景随着大数据时代的到来,越来越多的数据流向了Hadoop生态圈,同时对于能够快速的从TB甚至PB级别的数据中获取有价值的数据对于一个产品和公司来说更加重要,在Hadoop生态圈的快速发展过程中,涌现了一批开源的数据分析引擎,例如Hive、Spark SQL、Impala、Presto等,同时也产生了多个高性能的列式存储格式,例如RCFile、ORC、Parquet等,本文主要从实现的角度转载 2017-02-04 16:59:55 · 909 阅读 · 0 评论 -
hive使用经验总结(持续更新中)
下面是使用hive过程中一些心得体会,有不对的地方欢迎大家拍砖。原创 2016-12-27 18:06:00 · 1263 阅读 · 0 评论 -
Hive JOIN使用详解
Hive是基于Hadoop平台的,它提供了类似SQL一样的查询语言HQL。有了Hive,如果使用过SQL语言,并且不理解Hadoop MapReduce运行原理,也就无法通过编程来实现MR,但是你仍然可以很容易地编写出特定查询分析的HQL语句,通过使用类似SQL的语法,将HQL查询语句提交Hive系统执行查询分析,最终Hive会帮你转换成底层Hadoop能够理解的MR Job。对于最基本的转载 2016-01-27 19:05:46 · 347 阅读 · 0 评论