配置单元外部 table 位置与加载路径

hive external table location vs load path

通过互联网了解外部 table 和托管 table,我了解到我们需要在创建外部 table 时指定位置,因为配置单元将创建 tables 在给定位置,但在托管 table 的情况下,将使用 hive.metastore.warehouse.dir 中提到的默认目录。 如有错误请指正

让我困惑的是:

  1. LOCATION 子句是用于指定外部数据存在的位置 table 还是用于创建目录以存储实际数据的位置?
  2. 如果LOCATION子句用于指定数据存在的位置,那么我们为什么要在LOAD语句中使用PATH子句。
  1. 外部table的DDL中的位置子句用于 指定需要存储数据的hdfs位置。之后 当我们查询 table 时,将从这个指定的数据中读取数据 路径.

  2. load data inpath是源文件的路径 加载到 table。源可以是本地文件 路径或 hdfs 文件路径。

希望我已经消除了您的困惑。