hdfs—将文件的最后修改日期添加到配置单元外部表

7tofc5zh  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(280)

我有一个要求,需要添加文件作为配置单元外部表中的一列放入hdfs文件夹的时间。
示例:我有两个文件放在
2017-07-13 15:22
2017-12-13 18:31
因此,我在配置单元表中的最后一个\u修改列应该反映文件1中所有行的2017-07-13 15:22和文件2中的2017-12-13 18:31。
在external table create语句中是否有实现这一点的方法。
提前谢谢!

v8wbuo2f

v8wbuo2f1#

我没有遇到任何这样的功能来解决你的问题。但是,您可以尝试以下步骤,在单独的列中维护每个文件的上次修改时间:
在上创建分区表 last_modified 列。

CREATE EXTERNAL TABLE test (record string) PARTITIONED BY
(last_modified string) location '<warehouse_location>/test.db/test'

对于每个文件,将新分区添加到表中,或使用insert语句将其加载到分区中。

ALTER TABLE test ADD PARTITION (last_modified='2017-07-13 15:22')
location '<data-location>/newfile1/';

在新文件上创建一个单独的临时表,然后将数据插入分区表:

CREATE EXTERNAL TABLE tmp (record strin ) location '<new data location>'

INSERT INTO TABLE test PARTITION (
last_modified = '2017-07-13 15:22') SELECT record FROM tmp;

相关问题