大数据Hive面试题和知识点

这篇博客探讨了Hive与RDBMS的异同,强调了Hive作为大数据数仓的特点,如面向分析、非实时查询。还讨论了数仓的分层及其优势,解释了Hive基于Hadoop的原因,并深入讲解了Hive的安装部署模式、元数据管理、表的类型以及优化措施。此外,还介绍了Hive的分区表、分桶表、动态和静态分区等概念,以及Hive在处理大数据查询中的重要性。
摘要由CSDN通过智能技术生成

Hive和RDBMS数据库有什么异同

Hive是基于Hadoop的一个数据仓库,底层运用HDFS进行数据存储,运用MapReduce进行任务运行,是面向分析的数据仓库,不支持实时查询.

  • 区别:
    • Hive是面向分析的,RDBMS是面向事务的
    • Hive不支持事务,但是RDBMS支持
    • Hive延时高,RDBMS延时低
    • Hive是读模式,RDBMS是写模式
    • Hive可以多表插入,RDBMS不支持多表插入
  • 相同:语法类似,所以Hive学习成本低

Hive的特点

是大数据数仓,不生产数据

数据来源有

  • 数据库
  • 日志数据
  • 爬虫数据
  • 其他数据

数仓不消费数据

分析之后的结果给各个不同的数据应用使用

  • 数据可视化
  • 即席查询
  • 数据挖掘

数仓和数据库的不同之处

数据库是OLTP,面向事务

数仓是OLAP面向分析

数仓不是所谓的大型数据库,也没有取代数据库的能力,对事务支持极弱

数仓的分层

根据数据的流入流出的特点,对数仓进行分层

ODS:源数据层

相当于数据的临时存储中转站,其数据来自于各个不同的数据源,不会对源数据进行修改,由于不同的数据之间是存在差异的,所以不会直接用于分析.

DW:数仓层

其数据是从ods经过ETL处理而来,一般是干净规整结构统一的数据,可以用于各种分析,构建各种模型.

DA:数据应用层

消费数仓层分析的结果进行应用

数仓分层的好处是什么?

  • 解耦合
  • 以空间换时间

为什么说Hive是基于Hadoop的软件

  • Hive的存储能力是基于HDFS的
  • Hive的分析能力是基于MapReduce的

Hive的最大魅力在哪里?我们为什么要用Hive

Hive可以将结构化文件映射成为一张表,提供了基于表Sql查询的分析能力

HIve的安装部署模式

对于Hive来说,有两种方式可以保持元数据

  • hive内置一个数据库 derby (内存级轻量级数据库)
  • 使用第三方数据库集中管理元数据(mysql) 推荐使用
  1. 内嵌模式

    1. 使用内置derby存储元数据

    2. metastore内置集成好,不需要单独配置

      适合测试体验使用

  2. 本地模式

    1. 使用mysql来存储元数据

    2. metastore 内置集成好,不需要单独配置

      弊端:每次启动hive服务,都会内置一个metastore服务,会造成重复启动

  3. 远程模式

    1. 使用mysql存储元数据

    2. metastore 自己单独配置,单独启动,全局唯一

      任何客户端访问hive都是通过唯一的一个metastore服务进行访问,企业中也是用此模式

启动hive之间的注意事项

  • mysql启动了吗
  • hadoop启动了吗
  • hdfs是否已经退出安全模式

Hive的建表语句

create table tbn(id int,name string,age int) row format delimited fields terminated by &

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值