配置外部表位置与负载路径

时间:2016-01-20 17:09:12

标签: hive external

通过互联网了解外部表和托管表,我理解我们需要在创建外部表时指定Location,因为hive将在给定位置创建表,但是在托管表的情况下,提到的默认目录在hive.metastore.warehouse.dir中将使用。 如果有任何错误的陈述,请纠正我。

令我困惑的是:

  1. LOCATION子句是否用于指定外部表的数据存在位置或创建存储实际数据的目录的位置?
  2. 如果LOCATION子句用于指定数据的存在位置,那么为什么我们在LOAD语句中使用PATH子句。

1 个答案:

答案 0 :(得分:0)

  1. 外部表的DDL中的location子句用于 指定需要存储数据的hdfs位置。后来 在我们查询表时,将从此指定的数据中读取数据 路径。

  2. 加载数据inpath是数据所在源文件的路径 被加载到表中。源可以是本地文件 路径或hdfs文件路径。

  3. 希望我已经清除了你的困惑。