Hive 外部表位置与加载路径
Posted
技术标签:
【中文标题】Hive 外部表位置与加载路径【英文标题】:hive external table location vs load path 【发布时间】:2016-01-20 17:09:11 【问题描述】:通过互联网了解外部表和托管表,我了解到我们需要在创建外部表时指定位置,因为 hive 将在给定位置创建表,但在托管表的情况下,提到的默认目录在 hive.metastore.warehouse.dir 中将被使用。 如有错误请指正。
让我困惑的是:
-
LOCATION 子句是否用于指定外部表的数据存在于何处,或者在何处创建目录以存储实际数据?
如果 LOCATION 子句用于指定数据存在的位置,那么我们为什么要在 LOAD 语句中使用 PATH 子句。
【问题讨论】:
【参考方案1】:外部表的 DDL 中的 location 子句用于 指定需要存储数据的 hdfs 位置。之后 当我们查询表时,将从这个指定的数据中读取数据 路径。
load data inpath 是数据源文件的路径 被加载到表中。源可以是本地文件 路径或 hdfs 文件路径。
希望我已经消除了你的困惑。
【讨论】:
以上是关于Hive 外部表位置与加载路径的主要内容,如果未能解决你的问题,请参考以下文章