使用hdfs更改更新配置单元外部表

jfgube3f  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(261)

假设,我从myfile.csv文件(位于hdfs中)创建了配置单元外部表“mytable”。
myfile.csv每天都会更改,那么我也有兴趣每天更新一次“mytable”。
是否有任何hiveql查询要求每天更新表?
谢谢您。
附笔
我想知道它对目录的工作方式是否相同:比方说,当hdfs目录“mydir”包含10个文件时,我从hdfs目录“mydir”创建hive分区。第二天“mydir”包含20个文件(添加了10个文件)。我应该更新配置单元分区吗?

r7knjye2

r7knjye21#

hive中基本上有两种类型的表。
一个是由配置单元仓库管理的托管表,每当您创建一个表时,数据都会被复制到内部仓库。你呢 can not have latest data in the query output .
另一个是外部表,其中包含Hive will not copy its data to internal warehouse .
所以,每当您对表启动查询时,它就会从文件中检索数据。
因此,您甚至可以在查询输出中获得最新的数据。 That is one of the goals of external table. 您甚至可以删除表,并且数据不会丢失。

j7dteeu8

j7dteeu82#

如果你加一个 LOCATION '/path/to/myFile.csv' 子句,您不必更新配置单元中的任何内容。在查询中,它将始终使用文件的最新版本。

相关问题