什么是Hive?
Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。
Hive的意义(最初研发的原因)?
降低程序员使用Hadoop的难度,降低学习成本
Hive的内部组成模块,作用分别是什么?
元数据:描述数据的数据
内部执行流程:
解析器(解析器SQL语句)、编译器(把SQL语句编译成MapReduce程序)、优化器(优化MapRedue程序)、执行器(将MapReduce程序运行的结果提交到HDFS)
Hive支持的数据格式?
TextFile、SequenceFile、RCFile、ParquetFile,orc格式
进入Hiveshell窗口的方式?
1、Hive命令直接进入HiveShell
2、HiveJDBC方式使用beeline连接hiveserver2
3、使用Hive命令参数直接执行hql语句
Hive数据库、表在HDFS上存储的路径是什么?
是由hive.site.xml当中的”hive,metastore.warehouse.dir“指定,默认在HDFS系统的 /user/hive/warehouse/ 文件夹下
like与rlike的区别?
like:like的内容不是正则,而是通配符(模糊匹配查询)
rlike:rlike的内容可以是正则,正则的写法与java一样。
内部表与外部表的区别?
未被external修饰的是内部表(managed table),被external修饰的为外部表(external table);
区别:
1、内部表数据由Hive自身管理,外部表数据由HDFS管理;
2、内部表数据存储的位置是hive.metastore.warehouse.dir(默认:/user/hive/warehouse),外部表数据的存储位置由自己制定(如果没有LOCATION,Hive将在HD