用零停机时间替换hive表中的数据

问题描述 投票:1回答:1

我定期收到制表符分隔的数据并将其加载到配置单元表中。

当我得到一个新的数据集时,我需要一种方法来重新加载表,没有停机时间。这不起作用:

drop table t;
load data local inpath ... into table t;   // table is down while loading
sql hive bigdata
1个回答
1
投票

您可能需要一个临时表,可以使用大量的解决方案,这可能很有趣

https://dba.stackexchange.com/questions/141530/when-you-switch-table-a-to-table-b-does-the-index-data-get-switched-as-well

您也可以考虑使用视图在两个在线表之间切换,因此表t将变为:

TFlip平板电脑

表TFlop

查看VT - 从TFlip中选择*

加载数据时你可以

load data local inpath ... into table TFlop;   // view remain up while loading

最后

alter view VT as Select * from TFlop GO

在下一个加载中你将通过加载到表TFlip然后更新视图指向TFlip来执行oposite

© www.soinside.com 2019 - 2024. All rights reserved.