什么是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将在HDFS上的/user/hive/warehouse文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这里);
3、删除内部表会直接删除元

Hive是一个基于Hadoop的数据仓库工具,简化了对大规模数据的处理。它包括元数据、解析器、编译器、优化器和执行器等组件。Hive支持多种数据格式,如TextFile、SequenceFile等。内部表和外部表的主要区别在于数据管理,删除内部表会删除数据,而删除外部表仅删除元数据。分区表和分桶表用于优化查询效率,数据导入和导出有多种方式,如load、insert和export等。Hive查询操作如order by和sort by、where和having的用法各有特点。Hive还支持自定义函数(UDF、UDAF、UDTF)和数据压缩格式(如Snappy)。面试中常涉及数据倾斜、动态分区、并行执行和JVM重用等问题。
最低0.47元/天 解锁文章
8162

被折叠的 条评论
为什么被折叠?



