hive
adu_200000
这个作者很懒,什么都没留下…
展开
-
Impala和Hive的关系
Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。并且impala兼容Hive的sql解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。与Hive的关系 Impala 与Hive都是构建在Hadoop之上的数据查询工具各有不同的侧重适应面,但从客户端使...转载 2019-12-25 14:15:47 · 294 阅读 · 0 评论 -
Hive 分桶的原理
套话之分桶的定义: 分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储。对于 hive 中每一个表、分区都可以进一步进行分桶。列的哈希值除以桶的个数来决定每条数据划分在哪个桶中。(网上其它定义更详细,有点绕,结合后面实例)适用场景:数据抽样( sampling )、map-join干货之分桶怎么分:1.开启支持分桶set hive.enforce.bucke...转载 2019-12-23 15:35:57 · 1059 阅读 · 0 评论 -
Hive的动态分区和静态分区
当我们在插入数据的时候指定分区,其实就是新建一个目录或者子目录,或者在原有的目录上添加数据文件。Hive分区的创建Hive分区是在创建表的时候用Partitioned by 关键字定义的,但要注意,Partitioned by子句中定义的列是表中正式的列,但是Hive下的数据文件中并不包含这些列,因为它们是目录名。静态分区创建一张静态分区表par_tab,单个分区...转载 2019-12-20 14:29:12 · 300 阅读 · 0 评论 -
分区、桶、Sort Merge Bucket Join
Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。其实这篇博文主要是想聊聊 SMB join 的,Join 是整个 MR/Hive 最为核心的部分之一,是每个 Hadoop/Hive/DW RD 必须掌握的部分,之前也有几篇文章聊到过 MR/Hive 中的 join,其实底层...转载 2019-12-13 16:08:06 · 329 阅读 · 0 评论 -
hive分区表增加字段新增字段值为空的bug
目录1.修改元数据2.删除当前分区重建3.更新指定分区的元数据 最近在查hive版本问题,发现在hive1.1.0和hive1.2.1上,分区表新增字段后新增字段值为空的情况。网上查了资料,提供了两种解决办法:1.修改元数据 修改hive元数据SDS表的CD_ID字段,原因是修改表结构后,元数据库中的SDS中该表对应的CD_ID会改变,但是该表分区下...转载 2019-09-02 15:42:50 · 583 阅读 · 0 评论 -
Hive中的排序order by、sort by、distribute by、cluster by的区别
目录1.原始数据2.order by3.distribute by、sort by4.cluster by1.原始数据假设原始数据如下,分别是每名学生的成绩单name coarse score小红 语文 88小明 数学 85小红 数学 82小明 语文 802....原创 2019-08-26 18:12:58 · 784 阅读 · 0 评论 -
Hive SQL优化之 Count Distinct
目录常规方式失败的优化成功的优化 Hive是Hadoop的子项目,它提供了对数据的结构化管理和类SQL语言的查询功能。SQL的交互方式极大程度地降低了Hadoop生态环境中数据处理的门槛,用户不需要编写程序,通过SQL语句就可以对数据进行分析和处理。目前很多计算需求都可以由Hive来完成,极大程度地降低了开发成本。 目前,Hive底层使用MapReduc...转载 2019-08-26 16:24:22 · 1650 阅读 · 2 评论 -
HIVE常用命令之MSCK REPAIR TABLE
目录MSCK REPAIR TABLE 命令是做啥的例子后续MSCK REPAIR TABLE 命令是做啥的MSCK REPAIR TABLE命令主要是用来解决通过hdfs dfs -put或者hdfs api写入hive分区表的数据在hive中无法被查询到的问题。我们知道hive有个服务叫metastore,这个服务主要是存储一些元数据信息,比如数据库名,表名或者表...转载 2019-08-05 22:37:22 · 3423 阅读 · 1 评论 -
Hive的一些基本操作
目录1. Create Table1.1介绍1.2 语法1.3 基本示例1.4 创建分区2. Alter Table2.1 添加分区2.2 删除分区2.3 重命名表2.4 修改列/属性2.5 添加/替换列3. 创建视图4. 显示表5. 加载5.1 语法6. 插入6.1 INSERT语法6.2 WRITE语法7. 删除...转载 2019-06-05 17:45:28 · 298 阅读 · 0 评论 -
Hive架构介绍
目录hive的架构hive数据模型Metastore(元数据)motivation(动机)metadata objects(元数据对象)Metastore架构metastore接口Hive查询语言CompilerOptimizerHive API原文地址:https://cwiki.apache.org/confluence/display/H...翻译 2019-05-28 19:44:53 · 1018 阅读 · 0 评论 -
Hive中case when的两种语法
总结一下:两种表达方式是等效的方法一:casewhen tb1.os = 'android' then 'android'when tb1.os = 'ios' then 'iPhone'else 'PC'end as os,方法二:case tb1.oswhen 'android' then 'android'when 'ios' then 'iPhone'...转载 2019-04-15 14:43:27 · 1106 阅读 · 0 评论 -
hive相关命令(持续更新中......)
1. 删除指定范围内的分区数据//删除时间范围内的数据ALTER TABLE tb drop PARTITION(dt>0);//删除多个独立partition的数据ALTER TABLE tbdrop if existsPARTITION(code="a",dt="20190523"),PARTITION(code="b",dt="20190523");2.如...原创 2019-04-02 12:12:00 · 421 阅读 · 0 评论 -
Hive内表和外表的区别
目录内表外表内表:删表删数据(hdfs上的文件数据)外表:删表不删数据(hdfs上的文件数据)内表创建表时没加external,默认是内表所有的 Table 数据(不包括 External Table)都保存在warehouse这个目录中。删除表时,元数据与数据都会被删除创建过程和数据加载过程(这两个过程可以在同一个语句中完成),在加载数据的过程中,实际数...原创 2019-03-04 16:45:56 · 2661 阅读 · 0 评论 -
HIVE和HBASE区别
目录两者的分别两者的特点限制应用场景总结两者的分别 Apache Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询--因为它只能够在Haoop上批量的执行Had...转载 2019-02-13 14:28:47 · 102 阅读 · 0 评论 -
hive中hql的shell常规操作命令
hive执行hql的命令方式主要有三种,分别是通过直连操作执行、将hql以参数的形式进行操作以及将hql封装到文本中进行执行。目录 一.直连方式执行二.以参数的形式执行三. 封装到文件中进行执行一.直连方式执行键入“hive”,启动hive的cli交互模式。Set可以查看所有环境设置参数,并可以重设。其他命令如, Use database ...转载 2018-10-12 14:18:05 · 1266 阅读 · 0 评论