3. 表、元数据与存储
原始资料未提供第 7 题,以下保留原题号。
8. 下面关于 Hive 内部表和外部表描述正确的是( )。
- A. Hive 内部表的元数据和数据都由 Hive 自己管理。
- B. Hive 不会管理外部表的元数据。
- C. 当 Hive 内部表的元数据发生变化时,内部表的修改不会同步给元数据。
- D. 对外部表的表结构和分区进行修改,不需要修复。
答案:A. Hive 管理内部表的元数据与数据。Hive 同样管理外部表元数据,所以 B 错;修改表结构会同步更新元数据,所以 C 错;结构或分区发生改变仍须维护元数据,所以 D 错。
9. 以下关于 HiveSQL 基本操作描述正确的是( )。
- A. 创建外部表必须要指定 LOCATION 信息。
- B. 创建外部表使用 EXTERNAL 关键字,创建普通表需要指定 INTERNAL 关键字。
- C. 创建表时可以指定列分隔符。
- D. 加载数据到 Hive 时,源数据必须是 HDFS 的一个路径。
答案:C. 外部表不一定必须显式指定 LOCATION;普通表没有
INTERNAL 关键字;使用 LOCAL
可以从本地文件系统加载数据。
10. 关于 Hive 中的桶说法不正确的是( )。
- A. 每个桶是一个目录。
- B. 建表时指定桶个数,桶内可排序。
- C. 数据按照某个字段的值 Hash 后放入某个桶中。
- D. 对于数据抽样、特定 Join 的优化很有意义。
答案:A. 桶通常对应数据文件,而不是目录。指定桶数、按字段 Hash 分桶,以及用于抽样和特定 Join 优化的描述均成立。