如何获取hdfs文件中最后添加的数据?

ao218c7q  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(317)

我有数据以一定的速率进入hdfs文件。我在上面建了一个外置的Hive桌。数据有一个timestamp列和一个int列。每5分钟,将添加一行。
我有一个jdbc程序,如果int column值是否超过限制,它需要检查最后添加的这一行。我想我应该为新的时间戳编写一个搜索查询,获取行并检查其int列值。但是,它会遍历整个表来搜索最后附加的行。
我可以在timestamp列上创建索引。有没有其他方法可以检索最近添加的数据,这样性能就不会下降?

ac1kyiln

ac1kyiln1#

按日期(比如loaddate)对表进行分区,您可以使用 date() 功能。当然,您还需要修改插入新数据的过程,或者将其放置在适当的加载日期位置并执行 alter table add partition 如果直接将文件加载到表位置,则在外部表上或恢复分区。然后按加载日期+时间戳过滤,得到最后一条记录。它将只查询最后一天的分区数据。

相关问题