赞
踩
Hive是构建在Hadoop之上的数据仓库软件。它提供类似sql的查询语句HiveQL对数据进行分析处理,Hive将HiveQL语句转换成一系列MapReduce作业并执行。
目前,Hive除了支持MapReduce计算引擎,还支持Spark和Tez这两种分布式计算引擎,常用于离线批处理。
http://hive.apache.org/
数据仓库(Data Warehouse),是一个面向主题、集成的、随时间变化的,但信息本身相对稳定的数据集合,用于对管理决策过程的支持。
https://www.jianshu.com/p/0b6414f92442
Hive的元数据:包括表的名字、列、分区、属性(内/外部表)以及表数据所在目录等。将元数据存储在数据库中(metastore),支持mysql、derby、oracle等数据库。
解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后由MapReduce调用生成。
hive编译安装并修改元数据存储库为MySQL
ALTER TABLE table_name ADD PARTITION (day='2018-08-08')
ALTER TABLE table_name DROP IF EXISTS PARTITION (day='2018-08-08')
外部分区表使用alter table…drop partition语句删除分区,只会删除元数据,相应的目录和文件并不会删除;内部表使用该语句删除分区,既会删除元数据,也会删除相应目录和数据文件。具体说明分桶:clustered by (user_id) sorted by (leads_id) into 10 buckets
其中,TEXTFILE为默认格式,导入数据时会直接将数据文件copy到hdfs上不进行处理;
其他三种格式的表不能直接从本地文件导入数据,数据要先导入到 TEXTFILE 格式的表中,然后再从表中用 insert 导入 SequenceFile,RCFile,ORCFile 表中。
先来看一张表的存储格式:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。