大数据技术之_32_大数据面试题_01_Hive 基本面试 + Hive 数据分析面试 + Flume + Kafka 面试

一、Hive 基本面试

1、什么是 metastore

  metadata 即元数据。包含 database、tabel、column names、partitions 信息、bucketing 信息等的元数据信息。
  元数据默认是存储在 Derby 中,建议存储在关系型数据库中。

2、metastore 安装方式有什么区别

内嵌模式
  内嵌模式使用的是内嵌的 Derby 数据库来存储元数据,也不需要额外起 Metastore 服务。这个是默认的,配置简单,但是一次只能一个客户端连接,适用于用来实验,不适用于生产环境。

本地元存储
  本地安装 mysql 替代 derby 存储元数据,这种安装方式和嵌入式的区别在于,不再使用内嵌的 Derby 作为元数据的存储介质,而是使用其他数据库比如 MySQL 来存储元数据。hive 服务和 metastore 服务运行在同一个进程中,mysql 是单独的进程,可以同一台机器,也可以在远程机器上。

远程元存储(HiveServer2)
  Hive 服务和 metastore 在不同的进程内,可能是不同的机器,该模式需要将 hive.metastore.uris 设置为 metastore 服务器 URL,如果有多个 metastore 服务器,将 URL 之间用逗号分隔,metastore 服务器 URL 的格式为 thrift://127.0.0.1:9083。

3、什么是 Managed Table 跟 External Table?

  • 1、Hive 有两种类型的表 Managed Table(内部表) 跟 External Table(外部表)。
  • 2、Managed Table:也被称作 Internal table,这种表是 hive 的默认类型。如果你在创建表的时候没有指明 Managed 或者 External,那么默认就会给你创建 Managed Table。
      a、Managed Table 的数据,会存放在 HDFS 中的特定的位置中,通常是 /user/username/hive/warehouse
      b、我们可以使用 describe formatted table_name; 命令来查看表的信息。
      c、当你删除 drop table table_name; 删除表时,数据文件也会一并删除。
  • 3、External Table:特别适用于想要在 Hive 之外使用表的数据的情况.当你删除 External Table 时,只是删除了表的元数据,它的数据并没有被删除。

4、什么时候使用 Managed Table 跟 External Table?

  • Managed Table
    • 适用于临时创建的中间表
  • External Table
    • 适用于数据多部门共享

5、hive 有哪些复合数据类型?

1、MAP

    a.Map 复合数据类型提供了 key-value 对存储,你可以通过 key 获取 value。
    b.zhangsan Math:90,Chinese:92,English:78
        i.create table score_map(name string, score map<string, int>) map keys terminated by ':';
        ii.select name, score['English'], size(score) from score_map;

2、STRUCT

    a.Struct 是不同数据类型元素的集合。
    b.zhangsan Math,90
        i.create table course_struct(name string, course struct<course: string, score: int>) collection items terminated by ',';
        ii.select name, course.score, course.course from course_struct;

3、ARRAY

    a.Array 是同类型元素的集合.
    b.zhangsan beijing,shanghai,hangzhou
        i.create table person_array(name string, work_locations array<string>) collection items terminated by 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值