hive
文章平均质量分 79
_final__
这个作者很懒,什么都没留下…
展开
-
HIVE CREATE TABLE(一)
前言工作中用到hive比较多,但是总是感觉自己对hive的了解不够全面,仅限于常用的功能,对于hive缺乏全面的了解,造成在有新的业务需求时总是用常用的方法来解决问题,本次利用闲暇时间对hive的官方文档进行学习总结。关注那些平时用到但是没有深入了解的东西,提升自己对hive的认知。本篇大概介绍hive建表语句,关于建表语句的详细解读,会在后边进行介绍。hive的几种建表语句。1.CREATE TA原创 2017-12-11 10:31:18 · 28589 阅读 · 0 评论 -
HIVE 动态分区的一个坑
HIVE 动态分区的一个坑在hive sql中使用动态分区非常方便,也比较常用,但是在使用的过程中会带来一些问题,比如:在一段sql语句中我需要指定两个字段当做动态分区,一个字段的基数为7,另一个为4,这就是28个分区,我们的sql语句的最后一个job是一个仅有map阶段的任务,数据量大有4000个map,这种情况下map任务在往hive分区中写的时候,每个map几乎都要产生28个文件,这样就...原创 2018-04-11 16:03:59 · 18314 阅读 · 9 评论 -
HIVE Group by
HIVE Group by怎么使用group by这里不做过多介绍,这里主要记录下除了常用的group by操作外一些需要关注的地方。在一个select语句group时候对多个字段使用distinct是不允许的,如下。INSERT OVERWRITE TABLE pv_gender_aggSELECT pv_users.gender, count(DISTINCT pv_users.原创 2018-01-19 10:13:29 · 624 阅读 · 2 评论 -
HIVE ARCHIVE
HIVE ARCHIVE由于HDFS的设计,文件系统中的文件数量直接影响namenode中的内存消耗。虽然对于小型集群来说通常不是问题,但是当大于500万到1000万个文件时,内存使用量可能会在单台机器上达到可访问内存的限制。在这种情况下,拥有尽可能少的文件是有利的。 hive中的Archive实际上就是使用Hadoop Archive (HAR),下边先介绍Hadoop Archive (原创 2018-01-09 10:48:39 · 4307 阅读 · 0 评论 -
Hive Drop,Truncate&Alter
Hive Drop,Truncate&Alter这里主要介绍除create语句外两种常用的语句, Drop,Truncate和Alter。Drop,TruncateDROP TABLE [IF EXISTS] table_name [PURGE];DROP TABLE命令将会删除这个表的元数据和数据,如果是内部表且配置了Trash并且PURGE没有指定数据将会被移动到当前目录原创 2018-01-08 14:48:45 · 1795 阅读 · 1 评论 -
HIVE Skewed Table(八)
HIVE Skewed TableSkewed Table可以提高有一个或多个列有倾斜值的表的性能,通过指定经常出现的值(严重倾斜),hive将会在元数据中记录这些倾斜的列名和值,在join时能够进行优化。若是指定了STORED AS DIRECTORIES,也就是使用列表桶(ListBucketing),hive会对倾斜的值建立子目录,查询会更加得到优化。可以再创建表是指定为 Skewed Tab原创 2017-12-29 14:30:22 · 4905 阅读 · 0 评论 -
HIVE Bucketed Table(七)
HIVE Bucketed Table在建表语句中使用语句 CLUSTERED BY这种类型表,虽说不常用,但是既然存在就会有其存在的价值,这里介绍下。Bucketed Table如下创建Bucketed table的示例:CREATE TABLE page_view(viewTime INT, userid BIGINT, page_url STRING, referrer_url ST原创 2017-12-28 11:25:44 · 1540 阅读 · 0 评论 -
HIVE Temporary Table&Constraint(九)
HIVE Temporary Table&Constraint这两介绍下hive的临时表和表约束。Temporary Table创建的临时表仅仅在当前会话是可见的,数据将会被存储在用户的暂存目录中,并在会话结束时被删除。如果创建临时表的名字与当前数据库下的一个非临时表相同,则在这个会话中使用这个表名字时将会使用的临时表,而不是非临时表,用户在这个会话内将不能使用原表,除非删除或者重命名临时表。 临原创 2018-01-03 17:11:23 · 8240 阅读 · 0 评论 -
HIVE data Types(六)
HIVE data TypesHIVE支持基本数据类型和一些复杂的数据类型。Numeric TypesTINYINT (1-byte signed integer, from -128 to 127)SMALLINT (2-byte signed integer, from -32,768 to 32,767)INT/INTEGER (4-byte signed integer, from -原创 2017-12-27 10:01:56 · 1964 阅读 · 0 评论 -
HIVE Row Formats&SerDe(五)
HIVE Row Formats&SerDeSerde是 Serializer/Deserializer的简写。hive使用Serde进行行对象的序列与反序列化。What is a SerDe?SerDe is a short name for "Serializer and Deserializer."Hive uses SerDe (and FileFormat) to read and wr原创 2017-12-26 10:00:27 · 19587 阅读 · 1 评论 -
HIVE STORED&Row format(四)
HIVE STORED&Row formathive表数据在存储在文件系统上的,因此需要有文件存储格式来规范化数据的存储,一边hive写数据或者读数据。hive有一些已构建好的存储格式,也支持用户自定义文件存储格式。主要由两部分内容构成file_format和row_format,两者息息相关,在create table语句中结构如下:[ROW FORMAT row_format]...原创 2017-12-22 15:31:26 · 26596 阅读 · 1 评论 -
HIVE Statistics(三)
HIVE Statistics介绍统计信息,例如一个表有多少行,多少个分区,列的直方图等重要的信息。统计信息的关键作用是查询优化。把统计信息作为输入,通过成本优化函数,可以方便的比较不同的查询方案,并且从中进行最优的执行计划。统计数据有时可以直接满足用户的查询目的。比如他们只是查询一些基础数据,而不需要通过运行执行计划.例如,用户的年龄分布,使用最多的top10的apps,多少个不同的session原创 2017-12-11 20:01:33 · 4125 阅读 · 0 评论 -
HIVE External&TBLPROPERTIES(二)
HIVE External&TBLPROPERTIES(二)1.Externalhive中有两种表:外部表和内部表(managed and external)。可以通过desc formatted table_name 命令来查看表的信息,来辨别表是外部表还是内部表。 内部表的文件,元数据和统计信息等由hive进行管理,被存储在hive.metastore.warehouse.dir 目录下,当表原创 2017-12-11 20:00:09 · 18389 阅读 · 0 评论 -
hive分区表添加字段出现新增字段null的bug
hive分区表添加字段出现新增字段null的bug对于hive分区表,我们使用alter语句新增字段后(如alter table table_name add columns(age int)),再重写之前已经存在的分区,会出现使用查询语句查出来的新增字段显示null值。例如:表a ,分区dt,已有分区dt=’a’,由于需求新增了一个字段,然后重新写a 分区数据,写完后使用select发...原创 2018-06-29 14:04:14 · 5473 阅读 · 3 评论