关于外表的使用,以下说法正确的是:
A
外表的文件位置或文件列表发生变化时,需要使用ALTER EXTERNAL TABLE语句来刷新外表
B
在创建外表时,可以仅指定外表文件所在的目录,默认包含目录下所有的文件
C
创建外表时会检查外表文件的内容,如果文件内的数据与外表的字段定义不一致,创建外表会报错
D
查询外表时,如果外表文件已被删除,查询语句会返回空行,不报错
关于外表的使用,以下说法正确的是:
A
外表的文件位置或文件列表发生变化时,需要使用ALTER EXTERNAL TABLE语句来刷新外表
B
在创建外表时,可以仅指定外表文件所在的目录,默认包含目录下所有的文件
C
创建外表时会检查外表文件的内容,如果文件内的数据与外表的字段定义不一致,创建外表会报错
D
查询外表时,如果外表文件已被删除,查询语句会返回空行,不报错
1 个赞
ob青松
#4
这道题有点难,选择B,D ,容易错的是A,文件位置发生变化,文件列表发生变化,同时匹配的情况下,用alter external table 才生效
外表创建后,如果外部目录中新增了其他文件(该文件在 LOCATION 中指定的路径下且匹配 PATTERN),您需要执行更新外表文件的操作,才能通过外表访问新增的文件。
更新外表文件的 SQL 语句如下:
ALTER EXTERNAL TABLE table_name REFRESH;
B 出处

C 创建时,不会报错,查询的时候会检查类型,不满足报错。

D 出自扩展
外表使用注意事项
- 外表只能执行查询操作,不能执行 DML 操作。
- 查询外表时,如果外表所访问的外部文件已删除,系统不会报错,会返回空行。
- 由于外表所访问的文件由外部存储系统进行管理,当外部存储不可用时,查询外表将会报错